Windows下Cmake的简易工程构建

新建两个文件head,src,用于存放头文件和c文件。
再新建CMakeLists.txt文件,用于cmake配置。
当前文件结构:

--->CMakeLists.txt
|
--->head
|
--->src

新建一个头文件hello.h
内容如下:

#ifndef HELLO_H
#define HELLO_H
#include "stdio.h"
void Print(void);
#endif
 

并放到head文件里面去。
新建main.c && hello.c.
hello.c内容如下:

#include "hello.h"
void Print(void)
{
	printf("Hello!\n"); 
 } 

main.c内容如下:

#include "hello.h"
int  main()
{
	Print();
	return 0;
 } 

将这个两个c文件放到src文件里面去。

现在文件结构如下:

--->CMakeLists.txt
|
--->head--->hello.h
|
--->src--->main.c
       --->hello.c

再到src目录下再新建一个CMakeLists.txt文件,内容如下:

set(SRC_LIST main.c
	         hello.c
)
add_executable(main     ${SRC_LIST})

此时返回顶层目录。

--->CMakeLists.txt
|
--->head--->hello.h
|
--->src--->main.c
       --->hello.c
       --->CMakeLists.txt

再对顶层的CMakeLists.txt文件写入如下内容:

#顶层CmakeLists
cmake_minimum_required(VERSION 3.0) #不是必须的内容

include_directories( 			#指定头文件
	"C:/Users/ASUS/Desktop/Cmake/head"
)

#指定生成main.exe文件
project(main)

#关联src目录下的CMakeLists.txt
add_subdirectory(src bin)    #指定bin文件,main.exe文件生成在这里面

#add_executable(main main.c hello.c)  #.exe
#add_library(hello STATIC hello.c)	  #.lib
#add_library(Hello SHARED hello.c) 	  #.dll

此时新建一个build空文件,这是为了后面的编译生成的文件都放在这里面,防止污染源代码。
现在的文件结构如下:

--->CMakeLists.txt
|
--->head--->hello.h
|
--->src--->main.c
       --->hello.c
       --->CMakeLists.txt
|
--->build       

进入到build文件里面去:

现在build是完全空的!

然后输入命令:cmake -G "MinGW Makefiles" ..
我这里指定了MinGW编译器进行编译。

由此得到Makefile文件,再使用mingw32-make,进行编译。

最后进入bin目录,可以看见此时生成了main.exe。
至此编译全部完成。
运行如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Ho_Yim

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

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

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

打赏作者

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

抵扣说明:

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

余额充值