(三)cmake的多源文件编译

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_39258979/article/details/86564289

工作目录下有多个源文件,那么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中,

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

更改后的CMakeLists.txt

aux_source_directory (. DIR_SRCS)
add_executable(Demo main.cpp ${DIR_SRCS})
include_directories(.)

检验结果

3

猜你喜欢

转载自blog.csdn.net/weixin_39258979/article/details/86564289