我有一个在 Linux 上构建的共享库 libtest.so。它链接到几个共享库。现在我有一些第三方静态库链接到 libtest.so。我知道可以通过直接调用 gcc 来实现:
链接时可以混合使用静态库和共享库吗? https://stackoverflow.com/questions/2954387/can-i-mix-static-and-shared-object-libraries-when-linking
我的问题是如何使用 CMake 做同样的事情?
我没有看到问题所在。使用静态库,您可以执行以下操作:
target_link_libraries(my_target_or_executable /home/me/somedir/mymagiclib.a)
Or
target_link_libraries(my_target_or_executable -L/home/me/somedir/)
target_link_libraries(my_target_or_executable mymagiclib.a)
昨天我什至以这种方式链接到共享库。因为我在来自多个来源的 gcc 地址清理程序库中遇到了冲突。
但请注意与正常方式链接到库的区别。为您libtest.a
, 你做这个:
target_link_libraries(my_target_or_executable -ltest)
请注意,您删除了lib
此处的前缀。但当您想手动指定库时,请不要这样做。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)