汕头市网站建设_网站建设公司_测试上线_seo优化
2026/1/6 14:48:07 网站建设 项目流程

在cmake中,链接静态库的命令如下:
link_libraries( [...])

如果该静态库不是系统提供的(自己制作或者使用第三方提供的静态库)可能出现静态库找不到的情况,此时可以将静态库的路径也指定出来:
link_directories()

将静态库放入lib1文件中,动态库放入lib2文件中,删除src,通过main.cpp进行测试
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_libraries(calc) #静态库名
link_directories(${CMAKE_CURRENT_SOURCE_DIR}/lib1) #静态库文件路径
add_executable(app ${SRC})

image
生成可执行程序的时候首先把对应的源文件指定出来(通过file进行搜索),然后通过link_libraries将库文件追加到app中去
add_executable除了加载SRC的文件,还会加载库文件,然后把源文件和库文件链接,最后生成可执行程序app
如果使用静态库,在生成app时静态库和原文件都会打包到对应的可执行程序里去,动态库不会,要等应用程序调用动态库数据,动态库才会被加载到内存中
静态链接就是每个程序都包含一份库,动态链接就是所有用到该库的程序共享一份库文件

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

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

立即咨询