完整的最小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!

相关推荐
程与留44 分钟前
15_国际化和本地化:tr()、ts 文件、QM 文件、多语言切换
c++·qt
程与留2 小时前
14_Qt 样式表(QSS)入门(语法、选择器、美化实战)
c++·qt
Quz9 小时前
QML 拖拽篇:接收拖拽与数据交换
qt
草莓熊Lotso11 小时前
【Redis 初阶】Set 类型深度解析:去重集合的运算能力与实战场景
linux·网络·数据库·windows·redis·tcp/ip·缓存
张人玉1 天前
基于 Python 机器学习 与 PyQt5 桌面框架开发的可视化分析系统——基于大数据的网上购物消费行为分析可视化大屏
python·qt·机器学习·echarts·three.js
「QT(C++)开发工程师」1 天前
C++11 std::unique_ptr — 独占所有权的智能指针
c语言·开发语言·c++·qt
小镇敲码人1 天前
【深入浅出】之Qt 事件系统实战:鼠标、键盘、滚轮、窗口与定时器事件
数据库·qt·网络协议·mysql·http
郝学胜-神的一滴1 天前
C++11 工程级应用 06:自己造一个类似Python的Range迭代器
开发语言·c++·windows·python·程序人生·microsoft
小小龙学IT1 天前
Qt 数据库编程(Qt SQL 模块)深度解析
数据库·sql·qt
LabVIEW开发1 天前
使用 LabVIEW 获取文件的创建日期:从内置函数到 Windows API 封装
网络·windows·labview·labview知识·labview功能·labview程序