mySQL代码中引入了自研的一个lib库(libblock_fs.a), 而该lib库又引用了 libuuid.a
此时, make文件(如innodb.cmake)必须这样写:
LINK_LIBRARIES(block_fs uuid)
把uuid放在后面。否则编译会找不到libuuid.a 文件。 此既.a文件的链接顺序问题。
但如果libblock_fs.a 链接的不是libuuid.a 而是libuuid.so, 则可以调换次序:
LINK_LIBRARIES(uuid block_fs)
博客探讨了在mySQL代码中使用自研libblock_fs.a库与libuuid.a的关系,强调了链接顺序的重要性。当libblock_fs.a依赖libuuid.a时,必须将uuid放在LINK_LIBRARIES后面;若依赖的是libuuid.so,则可调换顺序。这个问题涉及到.a静态库与.so动态库的链接规则。
2474

被折叠的 条评论
为什么被折叠?



