完整的最小cmakelist.txt

完整的最小cmakelist.txt

复制代码
cmake_minimum_required (VERSION 3.8)					# cmake版本最低要求
set(PROJECT_DIR "/home/hhl/code/cmake/test/src")		# 设置这个项目放在哪个目录
project ("test")										# 项目名称

include_directories (${PROJECT_DIR}/include)			# 附加头文件目录
link_directories(${PROJECT_DIR}/lib)					# 附加库路径
aux_source_directory(${PROJECT_DIR}/src SRC_LIST)		# 设置./src为源文件路径
add_executable (main ${SRC_LIST})						# 寻找源文件进行编译

target_link_libraries(main libadd.a)					# 编译时需要链接的库

一,

复制代码
只是为项目使用头文件做准备
 include_directories (${PROJECT_DIR}/include)			# 设置头文件所在文件夹路径
 
我一会儿要使用这个文件夹
#include"xxx_.h"

这句话只是为链接静态库做准备
link_directories(${PROJECT_DIR}/lib)					# 设置静态库路径

二,

复制代码
这里最为核心(core),实际起作用
target_link_libraries(main libadd.lib)					# 编译时需要链接的库

两句话等价于
target_link_libraries(main ${PROJECT_DIR}/lib/ libadd.lib)

最后把动态库libadd.dll扔到.exe所在文件夹

最后把动态库libadd.dll扔到.exe所在文件夹,一定要记得,ok!

相关推荐
Sakura_j_h_5 小时前
Python 在定时任务里输出 emoji,UnicodeEncodeError 从哪来
开发语言·字符编码·windows·python·定时任务
隔窗听雨眠8 小时前
PostgreSQL单表从Windows迁移到Linux:差异剖析、方案对比与全流程实战
linux·windows·postgresql
LaoWaiHang11 小时前
关于Qt中鼠标左键事件被子控件截留的处理
qt
Helix25011 小时前
Ansible混合环境自动化:Windows与Linux统一配置管理实战
windows·自动化·ansible·playbook·配置管理·winrm·混合环境
Java开发追求者12 小时前
windows快速安装docker
windows·docker·安装·1024程序员节
初阳78515 小时前
【基于Qt5仿音乐播放器(一)】——项目准备
qt·1024程序员节
Helix25016 小时前
Windows ETW与KQL实战:终端性能诊断与遥测数据分析指南
windows·性能诊断·kql·etw·azure monitor·遥测数据·tracert
陈葛杰17 小时前
Adobe Premiere Pro2025安装教程
windows·adobe·开源软件·1024程序员节
承渊政道18 小时前
iOS远程控制电脑用什么好?iPhoneiPad远程控制Windows电脑最佳方案2026横评
windows·ios·远程控制·1024程序员节·iphone ipad
易点云徐源18 小时前
PDF 默认打开方式刚修好,过一分钟又变成“未知应用”?使用 ProcMon 成功抓出后台程序
windows·pdf