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

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 了。

转自

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值