Ubuntu下Cmake编译C++程序Helloworld
1、首选新建工程目录
1 | mkdir helloworld |
2、新建文件目录
1 2 3 4 5 6 7 | cd helloworld mkdir bin mkdir lib mkdir src mkdir include mkdir build touch CMakeLists.txt |
各文件夹的作用:
执行命令之后的工程目录:
3、进入Src目录,新建源文件
1 2 3 | cd src touch main.cpp touch helloworld.cpp |
4、返回上级目录,进入include目录,新建头文件
1 2 | cd ../include/ touch helloworld.h |
5、对源文件和头文件进行编写并保存
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | // main.cpp #include <helloworld.h> int main() { helloworld obt; obt.outputWord(); return 0; } // helloworld.cpp #include "helloworld.h" void helloworld::outputWord() { std::cout << "hello world!" << std::endl; } // helloworld.h #ifndef HELLOWORLD_H_ #define HELLOWORLD_H_ #include <iostream> class helloworld { public : void outputWord(); }; #endif |
结果如下图:
6、编写CMakeLists.txt文件
①cmake最低版本以及工程名称
1 2 | cmake_minimum_required(VERSION 2.8) project(helloworld) |
②设置编译方式(“debug”与“Release“)
1 | SET(CMAKE_BUILD_TYPE Release) |
③设置可执行文件与链接库保存的路径
1 2 | set (EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin) set (LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib) |
④设置头文件目录使得系统可以找到对应的头文件
1 2 3 | include_directories( ${PROJECT_SOURCE_DIR}/include ) |
⑤选择需要编译的源文件,凡是要编译的源文件都需要列举出来
1 | add_executable(helloworld src/helloworld.cpp src/main.cpp) |
结果如下图:
7、编译程序
1 2 3 | cd build cmake .. make |
8、查看编译结果
9、运行程序
1 | ./../bin/helloworld |
运行结果如下图:
感谢博主;
作者:HaijianYang
欢迎任何形式的转载,但请务必注明出处。
限于本人水平,如果文章和代码有表述不当之处,还请不吝赐教。
分类:
C++
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理