Dynamic 如何使用CMake混合链接静态库和共享库
我有一个基于Linux的共享库libtest.so。它链接到几个共享库。现在我有一些第三方静态库可以链接到libtest.so。我知道通过直接致电gcc可以做到这一点:Dynamic 如何使用CMake混合链接静态库和共享库,dynamic,cmake,static-libraries,Dynamic,Cmake,Static Libraries,我有一个基于Linux的共享库libtest.so。它链接到几个共享库。现在我有一些第三方静态库可以链接到libtest.so。我知道通过直接致电gcc可以做到这一点: 我的问题是如何用CMake做同样的事情?我看不出问题所在。使用静态库,您可以执行以下操作: target_link_libraries(my_target_or_executable /home/me/somedir/mymagiclib.a) 或 昨天我甚至通过这种方式链接到共享库。因为我在gcc的地址消毒剂库中遇到了来自
我的问题是如何用CMake做同样的事情?我看不出问题所在。使用静态库,您可以执行以下操作:
target_link_libraries(my_target_or_executable /home/me/somedir/mymagiclib.a)
或
昨天我甚至通过这种方式链接到共享库。因为我在gcc的地址消毒剂库中遇到了来自多个来源的冲突
但是,请注意链接到库的区别,这是正常的方式。对于libtest.a
,您可以执行以下操作:
target_link_libraries(my_target_or_executable -ltest)
请注意,您在此处删除了lib
前缀。但是,如果要手动指定库,请不要执行此操作
target_link_libraries(my_target_or_executable -ltest)