德阳市网站建设_网站建设公司_HTTPS_seo优化
2026/1/6 14:48:07 网站建设 项目流程

在cmake中链接动态库的命令如下:
target_link_libraries(
#谁要链接动态库
<PRIVATE|PUBLIC|INTERFACE> ...
[<PRIVATE|PUBLIC|INTERFACE> ...]...)
target:指定要加载的库的文件的名字
该文件可能是一个源文件
该文件可能是一个动态库/静态库文件
该文件可能是一个可执行文件

PRIVATE|PUBLIC|INTERFACE:动态库的访问权限,默认为PUBLIC
PUBLIC:在public后面的库会被Link到前面的target中,并且里面的符号也会被导出,提供给第三方使用。
PRIVATE:在private后面的库仅被link到前面的target中,并且终结掉,第三方不能感知你调了啥库
INTERFACE:在interface后面引入的库不会被链接到前面的target中,只会导出符号。
item:链接的库的名字

动态库的链接具有传递性,如果动态库 A 链接了动态库B、C,动态库D链接了动态库A,此时动态库D相当于也链接了动态库B、C,并可以使用动态库B、C中定义的方法。

cmake_minimum_required(VERSION 3.10.2)
project(test)

aux_source_directory(${PROJECT_SOURCE_DIR}/src SRC) #PROJECT_SOURCE_DIR就是CMakefileLists.txt所在路径

file(GLOB SRC ${CMAKE_CURRENT_SOURCE_DIR}/*.cpp) #CMAKE_CURRENT_SOURCE_DIR就是CMakefileLists.txt所对应的路径
include_directories(${PROJECT_SOURCE_DIR}/include)

set(CMAKE_CXX_STANDARD 11)

link_directories(${CMAKE_CURRENT_SOURCE_DIR}/lib2) #动态库文件路径
add_executable(app ${SRC})
target_link_libraries(app calc)

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询