【Cmake】在Windows下用Cmake构建C++工程项目——更好一点的Hello World——2

4 篇文章 4 订阅

1. 准备工作

1)在D:\vs_test\cmake_test目录下,新建t2文件夹;

2)在t2下,新建目录src、build和文件CMakeLists.txt。src是用来存放源文件的。

3)在目录src下,新建CMakeLists.txtmain.cpp

 注意:在cmake工程中,任何子目录都需要建立一个 CMakeLists.txt

t2目录下的CMakeLists.txt文件内容:

PROJECT (HELLO)
ADD_SUBDIRECTORY(src bin)

src/CMakeList.txt 内容:

ADD_EXECUTABLE(Qt main.cpp)
SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin)
SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/lib)

src/main.cpp 内容:

#include <iostream>

int main()
{
	std::cout << "Hello World from t2 Main!\n";
	while (1);
}

2. 开始构建

具体的构建方法参考我上一篇文章:Cmake】在Windows下用Cmake构建C++工程项目——cmake 的 helloworld——1

构建完成后,你会发现生成的目标文件 Qt.exe 位于 build/bin/Debug 目录中。

运行结果:

3. 语法解释

ADD_SUBDIRECTORY(src   bin)

ADD_SUBDIRECTORY 指令,这个指令用于向当前工程添加存放源文件的子目录(src),并可以指定中间二进制和目标二进制存放的位置(bin)。

上面的例子定义了将 src 子目录加入工程,并指定编译输出(包含编译中间结果)路径为bin 目录。如果不进行 bin 目录的指定,那么编译结果(包括中间结果)都将存放在build/src 目录(这个目录跟原有的 src 目录对应),指定 bin 目录后,相当于在编译时将 src 重命名为 bin,所有的中间结果和目标二进制都将存放在 bin 目录。

SET(EXECUTABLE_OUTPUT_PATH   ${PROJECT_BINARY_DIR}/bin)

SET(LIBRARY_OUTPUT_PATH   ${PROJECT_BINARY_DIR}/lib)

 将可执行二进制的输出路径为:build/bin

 将库的输出路径设为:build/lib

这两条指令写在工程的 CMakeLists.txt 还是 src 目录下的CMakeLists.txt,把握一个简单的原则,在哪里 ADD_EXECUTABLE 或 ADD_LIBRARY,如果需要改变目标存放路径,就在哪里加入上述的定义。

在这个例子里,当然就是指 src 下的 CMakeLists.txt 了。
 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wolves_liu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值