Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dynamic 如何使用CMake混合链接静态库和共享库_Dynamic_Cmake_Static Libraries - Fatal编程技术网

Dynamic 如何使用CMake混合链接静态库和共享库

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的地址消毒剂库中遇到了来自

我有一个基于Linux的共享库libtest.so。它链接到几个共享库。现在我有一些第三方静态库可以链接到libtest.so。我知道通过直接致电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)