使用cmake配置c++环境(C++配置环境的“心路历程”)
cpp项目第一步:环境配置
最开始,接触c++的时候,摆在面前的难题就是配置环境。
我也尝试了很多办法,故写下这篇文章,记录一下。
方法一(我最开始尝试的)
我最开始,是需要在vs中配置点云pcl和opencv环境。当时的做法,也是看网上教程,通过在vs中->项目属性,添加各种包含目录,库目录啥的。一整套配置下来,眼睛和手都撸冒烟了。
比如这一篇文章
配置下来,非常繁琐,但是初学者不会其他方法,只好照做。
用这个方法的缺陷也很明显,就是扩展性很差,你如果要多配几个环境,你得在多个环境中的vs中,手动配置。
方法二(我也试过)
为了减少重复劳动,后面的改进做法就是,将你需要配置的库,通过配置属性管理器,从而达到以后新建项目时,通过导入相关文件,就能配置好相应库。

这种方法,一般就是配置一个库,就新建项目属性表,比如你如果要配置pcl和opencv,你就新建两个项目属性表,一个用来配置pcl,一个用来配置opencv。当你下次新建项目 ,需要用到pcl或者opencv时候,在vs的属性 管理器中,导入对应的项目属性表。这样就省去了每次都需要在vs中配置一遍。
我当时也试过这种办法,但是我按照这样配置后,代码运行会出现一个问题,至今没有解决,这个问题我现在也不确定是不是vs中没有设置正确导致,因此我就没用过这种办法了。
方法三(复制vs中配置好的c++环境)
当我用方法二配置后出现问题,无法使用,但是我迫切需要使用好几个环境,一个用来写自己的cpp代码,一个用来测试别人给我的代码。实现过程如下:

我用这种方法配置了三个环境,目前的话,只要是你第一个环境配置正确,复制过来的,也是对的。
方法四(使用cmake)
这个方法我接触时间比较短,也只测试了pcl和opencv环境的配置。
以下是实操,注意,使用这种方法,
- 你得先去github或者官网中下载对应的库;
- 你得将系统环境变量配置好;
- 你最少需要 一个
CMakeLists.txt文件 和main.cpp文件。 - 需要用到
cmake软件,并配置好系统环境变量。
这四个是前提。
opencv环境配置
首先新建一个项目,最好是英文。然后创建CMakeLists.txt和main.cpp文件。
CMakeLists.txt内容如下
cmake_minimum_required(VERSION 3.10)
project(MyProject)
# 设置C++标准
set(CMAKE_CXX_STANDARD 11)
# 查找OpenCV包
find_package(OpenCV REQUIRED)
# 包含OpenCV头文件
include_directories(${OpenCV_INCLUDE_DIRS})
# 添加源文件
add_executable(MyProject main.cpp) # 替换成你的源文件
# 链接OpenCV库
target_link_libraries(MyProject ${OpenCV_LIBS})
main.cpp测试代码如下
#include <opencv2/opencv.hpp>
#include <iostream>
int main() {
std::cout << "OpenCV version: " << CV_VERSION << std::endl;
return 0;
}
测试代码比较简单。
接着,打开cmake软件。
接着将项目路径复制进去,第二个框就是生成的路径。

然后 点击configure。
此时会提示你,是否需要创建这个路径 ,点yes。
然后按照下面操作,选择x64。点击finish
当出现configuring done时候,点击Generate
当出现generating done 时候,点击 open project。
关闭cmake。
打开build目录下vcproj后缀的文件。


下面这里是选择哪个项目是运行项目,你可以选择,也可以选择将其他两个进行 删除。
点击应用 ,确定。
接下来,你就可以进行 编译运行了。


如果你不是通过open project打开的,你也可以在bulid中找到sln文件进行打开 。

你编译运行后,可以找到相关exe。
如果不想使用cmake gui
那你可以选择使用cmd命令行进行操作。

进入到项目路径中,
- 输入
mkdir build创建构建目录: 一般建议在项目目录下创建一个单独的构建目录,以保持源代码和构建文件分离。
mkdir build
- 输入
cd build进入目录
cd build
- 运行
cmake,输入
cmake ..
如果你遇到 ‘cmake’ 不是内部或外部命令,原因可能是你没有配置环境变量。
然后你就可以在build中打开项目了,在vs中进行编译。
如果你想在 cmd中 用命令行的方式进行编译项目,你需要用到make命令,这个需要安装MinGW,我这没有下载,因此不讲了。
总结
- 对于最开始写
python的我来说,刚开始,连c++环境都配置不来,当时还想着,怎么能这么麻烦,python里面直接都是pip install的。 - 目前的话,我对
cmake,也只是略知皮毛。并且目前,我只是在简单的测试代码中验证。 - 文章如有错误,敬请指出。
- 希望文章能对cpp初学者有帮助(github上的项目的环境,很多都是给出CmakeList.txt)
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐




所有评论(0)