init
This commit is contained in:
59
README.md
Normal file
59
README.md
Normal file
@@ -0,0 +1,59 @@
|
||||
# CMake 单文件练习项目
|
||||
|
||||
## 项目说明
|
||||
|
||||
这是一个基于CMake的练习项目,用于演示如何使用CMake自动发现和编译src目录下的C/C++源文件。
|
||||
|
||||
## 项目结构
|
||||
|
||||
```
|
||||
cmake_singlefile_run/
|
||||
├── CMakeLists.txt # CMake配置文件
|
||||
├── README.md # 项目说明(本文件)
|
||||
├── include/ # 头文件目录
|
||||
├── src/ # 源代码目录
|
||||
│ ├── hello.c # C语言示例(for循环打印0-10)
|
||||
│ └── hello_cpp.cc # C++语言示例(for循环打印0-10)
|
||||
└── build/ # 编译输出目录(自动生成)
|
||||
└── bin/ # 可执行文件输出目录
|
||||
```
|
||||
|
||||
## 编译和运行
|
||||
|
||||
### 编译
|
||||
```bash
|
||||
mkdir -p build
|
||||
cd build
|
||||
cmake ..
|
||||
cmake --build .
|
||||
```
|
||||
|
||||
### 运行
|
||||
```bash
|
||||
# 运行C语言版本
|
||||
./bin/hello_c
|
||||
|
||||
# 运行C++版本
|
||||
./bin/hello_cpp_cc
|
||||
```
|
||||
|
||||
## CMakeLists.txt 说明
|
||||
|
||||
项目使用CMake配置,特点包括:
|
||||
|
||||
- **自动源文件发现**:自动搜索 `src` 目录下所有 `.c .cc .cpp .cxx` 源文件
|
||||
- **自动目标生成**:为每个源文件自动创建对应的可执行文件目标
|
||||
- **标准设置**:
|
||||
- C语言:C11 标准
|
||||
- C++语言:C++17 标准
|
||||
- **输出目录**:所有可执行文件输出到 `build/bin` 目录
|
||||
|
||||
## 功能演示
|
||||
|
||||
两个示例程序都使用for循环打印i=0到10的数值:
|
||||
|
||||
### C版本(hello.c)
|
||||
使用 `printf()` 打印输出
|
||||
|
||||
### C++版本(hello.cc)
|
||||
使用 `std::cout` 打印输出
|
||||
Reference in New Issue
Block a user