我们首先添加一个静态库otherlib,然后再添加一个动态库mylib,但是这个动态库需要链接静态库otherlib,此时就会出错 add_library(otherlib STATIC otherlib.cpp) add_library(mylib SHARED mylib.cpp) target_link_libraries(mylib PUBLIC otherlib) add_executable(main main.cpp) target_link_libraries(main PUBLIC...
#target_link_libraries(useHello"/home/ubuntu/ch2/useHello/libhello_shared.so") #link_libraries(useHello"/home/ubuntu/ch2/useHello/libhello_shared.so")#bug #link_libraries(useHello /home/ubuntu/ch2/useHello/libhello_shared.so)#bug#undefinedreferenceto `printHello() 路径错误 target_link_librar...
建立一个静态库和动态库,提供HelloFunc 函数供其他程序编程使用,HelloFunc向终端输出Hello World 字符串。 安装头文件与共享库。 编写一个程序去使用构建的共享库。 二、准备工作 (1)建立 t3 目录,用于存放本节涉及到的工程。 mkdir t3 (2)建立共享库。 cd t3 mkdir lib (3)在 t3 目录下建立CMakeLists.txt...
target_link_libraries(myProject comm)# 连接libhello.so库,默认优先链接动态库 target_link_libraries(myProject libcomm.a)# 显示指定链接静态库 target_link_libraries(myProject libcomm.so)# 显示指定链接动态库 # 再如: target_link_libraries(myProject libcomm.so)#这些库名写法都可以。 target_link_librari...
link_directories(${PROJECT_SOURCE_DIR}/lib) #添加动态连接库的路径 target_link_libraries(project_name-lmxnet ) #添加libmxnet.so 静态库的添加: add_library(mxnet STATIC IMPORTED) set_property(TARGET mxnet PROPERTY IMPORTED_LOCATION/path/to/libmxnet.a) ...
1、强制链接静态库 add_executable(main main.cpp) target_link_libraries(main ${CMAKE_SOURCE_DIR}/libbingitup.a) 1. 2. 静态库和动态库共存时,cmake会默认先链接动态库,如果要强制使用静态库,在CMakeLists.txt中如此直接指明 或者这样做也可以 ...
target_link_libraries(myProject comm) # 连接libhello.so库,默认优先链接动态库 target_link_libraries(myProject libcomm.a) # 显示指定链接静态库 target_link_libraries(myProject libcomm.so) # 显示指定链接动态库 # 再如: target_link_libraries(myProject libcomm.so) #这些库名写法都可以。
在CMake 中调用第三方库主要有两种方法:直接链接静态/动态库,或者使用find_package命令。 直接链接静态/动态库 你可以直接在target_link_libraries命令中指定要链接的库的路径。例如: add_executable(my_program my_program.cpp)target_link_libraries(my_program /path/to/library/libmy_library.a) ...
1、target_link_libraries必须放在add_executable或者add_library之后 2、${PROJECT_NAME}是工程名称,一般设置了project(HelloWorld)才会直接用${PROJECT_NAME} 3、PUBLIC其他可用的字符还有PRIVATE和INTERFACE PUBLIC 在public后面的库会被Link到你的target中,并且里面的符号也会被导出,提供给第三方使用。
add_library:用于添加库文件。通过设置参数SHARED指定动态库,STATIC指定静态库。 add_library(my_lib SHARED my_lib.cpp)# 动态库 add_library(my_lib STATIC my_lib.cpp)# 静态库 target_link_libraries:用于指定链接的库文件。 target_link_libraries(my_target PRIVATE my_lib)# 链接动态/静态库 ...