(三)CMake的多源文件编译

工作目录下有多个源文件,那么CMakeLists.txt 手动键入源文件名称,很麻烦。

文件结构如下

.
├── CMakeLists.txt
├── main.cpp
├── multiple.cpp
├── operation.cpp
└── operation.h

文件内容

multiple.cpp

int mul(int a,int b)
{
	return a*b;
}

operation.cpp:

#include "operation.h"
int add(int a,int b)
{
    return a+b;
}

operation.h

#ifndef _OPERTION_H
#define _OPERTION_H
int add(int a,int b);
#endif

main.cpp

#include <iostream>
#include "operation.h"

int mul(int a,int b);

int main()
{
	int a=1;
	int b=2;
	std::cout<<"你好啊,朋友"<<std::endl;
	std::cout<<"a+b = "<<add(a,b)<<std::endl;
	std::cout<<"a*b = "<<mul(a,b)<<std::endl;
}
CMakeList.txt技巧

对于多个源文件可以通过两步减少繁杂的源文件名书写:
将所有源文件变量保存在DIR_SRCS中,使用变量时应该用大括号说明美元作用范围${VAR}

aux_source_directory ( . DIR_SRCS)
add_executable(Demo ${DIR_SRCS})

更改后的CMakeLists.txt

aux_source_directory (. DIR_SRCS) #目录,代号
add_executable(Demo main.cpp ${DIR_SRCS})# 你当然可以add_executable(Demo main.cpp operation.cpp multiple.cpp)
include_directories(.)
检验结果

3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值