【CMake】使用CMake在Visual Studio 构建多cpp文件项目
首先,我们在 C m a k e Cmake Cmake文件下写入以下代码:
#需求的最低cmake程序版本
cmake_minimum_required(VERSION 3.12)
#本工程的名字
project(OpenGL)
#支持的C++版本
set(CMAKE_CXX_STANDARD 20)
#本工程主程序文件及输出程序名称,生成exe
add_executable(glStudy "main.cpp")
生成解决方案后加入
f
u
n
c
.
h
func.h
func.h和
f
u
n
c
.
c
p
p
func.cpp
func.cpp
f
u
n
c
.
h
func.h
func.h
#pragma once
#include<iostream>
void func();
f u n c . c p p func.cpp func.cpp
#include"func.h"
void func() {
std::cout << "调用了func函数\n";
}
然后在 m a i n . c p p main.cpp main.cpp中调用
#include "func.h"
int main() {
std::cout << "Hello OpenGL! \n";
func();
return 0;
}
成功调用:
可以发现是
C
M
a
k
e
CMake
CMake中自动生成了相应的代码:
#需求的最低cmake程序版本
cmake_minimum_required(VERSION 3.12)
#本工程的名字
project(OpenGL)
#支持的C++版本
set(CMAKE_CXX_STANDARD 20)
#本工程主程序文件及输出程序名称,生成exe
add_executable(glStudy "main.cpp" "func.h" "func.cpp")
实际上,当文件过多时,代码会很长,可以设置一个变量,然后把所有文件添加进变量,然后加入这个变量即可:
#需求的最低cmake程序版本
cmake_minimum_required(VERSION 3.12)
#本工程的名字
project(OpenGL)
#支持的C++版本
set(CMAKE_CXX_STANDARD 20)
#搜索所有的cpp,加入SRCS变量中
aux_source_directory(. SRCS)
#本工程主程序文件及输出程序名称,生成exe
add_executable(glStudy ${SRCS})
运行成功: