为上面的hello world程序写一个cmake
时间: 2023-09-15 09:16:46 浏览: 50
CMakeLists.txt文件:
```
cmake_minimum_required(VERSION 3.0)
project(HelloWorld)
add_executable(${PROJECT_NAME} main.cpp)
```
其中,`${PROJECT_NAME}`是CMake中自动生成的变量,表示当前项目的名称。`add_executable`命令用于生成可执行文件,`${PROJECT_NAME}`作为第一个参数表示可执行文件的名称,`main.cpp`作为第二个参数表示源代码文件的名称。
相关问题
cmake输出hello world
cmake输出"Hello world"的方法是通过执行生成的可执行文件来实现的。执行以下步骤:
1. 在终端中进入到项目目录。
2. 运行以下命令来编译生成可执行文件:
```
cmake .
make
```
3. 运行以下命令来执行可执行文件:
```
./main
```
执行上述步骤后,你将在终端中看到输出的"Hello world!"。
cmake glib-2.0 hello world
下面是一个使用 CMake 构建的 "Hello, World!" 程序,它使用了 glib-2.0 库:
首先,在 CMakeLists.txt 文件中添加以下内容:
```cmake
cmake_minimum_required(VERSION 3.0)
project(hello_world)
# 查找 glib-2.0 库
find_package(GLIB2 REQUIRED)
# 添加可执行文件
add_executable(hello_world main.c)
# 将 glib-2.0 库链接到可执行文件
target_link_libraries(hello_world ${GLIB2_LIBRARIES})
```
然后,在项目根目录下创建 main.c 文件,并添加以下内容:
```c
#include <glib.h>
int main(int argc, char *argv[]) {
gchar *message = "Hello, World!";
g_print("%s\n", message);
return 0;
}
```
接下来,在项目根目录下创建一个 build 目录,并在其中运行以下命令:
```
cmake ..
make
```
这将生成一个名为 "hello_world" 的可执行文件。最后,执行该可执行文件,应该会在控制台上看到输出 "Hello, World!"。
需要注意的是,在 CMakeLists.txt 中,我们使用了 `find_package` 命令来查找 glib-2.0 库,并使用了 `target_link_libraries` 命令将 glib-2.0 库链接到可执行文件中。这样,在编译和链接时,CMake 会自动处理 glib-2.0 库的编译选项和链接选项,使得整个过程更加简单和方便。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)