安装VS2022
安装Cmake
(56条消息) Visual Studio 2022编译CMake工程_cmake vs2022_C++辅导袁老师的博客-优快云博客
cmake有些文件不支持C++11
Eigen
安装包解压后,重命名为eigen3
编译:(56条消息) Eigen3编译教程(eigen3.3.9+vs2017+cmake超详细、末尾有编译结果)_老王敲代码的博客-优快云博客
Opencv
opencv+opencv contrib
编译:
(56条消息) CMake来编译OpenCV,细致教程_cmake编译opencv_丢掉幻想,准备斗争的博客-优快云博客
(56条消息) Windows10+Cmake+VS2019编译opencv(超级详细)_vs编译opencv_乐安世家的博客-优快云博客
我的一些问题:
①如果在opencv文件夹中找不到cmakelists,将链接改为在opencv/sources,cmakelists在这里面
②一开始没有给eigen3.4.0改名为eigen3,做GAMES101作业1时有源文件找不到的情况。
一开始已经用cmake编译了再改名,改名后,再用cmake编译opencv时,Eigen显示为不合法文件。
解决办法:重新给eigen编译,再编译opencv,就很顺利
暂时并没有编译CUDA,太大了
③文件为UNIcode,高级文件选项-改成utf即可
④成功编译生成opencv后打开,按照链接中的生成某文件,结果取消生成的时候卡住了,GUI界面无反应,无法直接关闭,
解决办法:打开资源管理器,结束VS进程
cmake+VS2022
方法一:
1、通过VS打开包含CmakeLists的文件夹

将hpp、cpp、cmakelists文件编译好后
2、项目->配置缓存

成功生成cmake文件会显示如下输出

3、生成(也可不要)

我之前没有生成直接第4步,就显示找不到生成文件。但刚刚重新试又可以了,可能是之前的环境不太给力。
4、右上角转换到.exe,再点击绿色箭头就行了

方法二:
利用Git Bash ,在与cmakelist文件的相同目录下通过命令行:
$ mkdir build
$ cd build
$ cmake ..
或者直接使用cmake-gui(我觉得更方便
configure+generate成功后便可打开生成的.sln项目,项目-设为启动项,开始调试。
在windows环境下,如果使用vs会默认使用MSVC编译器,如果需要生成makefile,则需要使用GCC编译器,将上面的cmake..改成下面的
$ cmake .. -G"Unix Makefiles"
但是我个人而言想生成并使用makefile总会出来各种各样的毛病,还是怎么简单怎么来吧。只要cmakelist和各.hpp,.cpp文件之间的编译不出错,我最推荐使用cmake-gui来方便快捷地生成.sln项目啦,这样就不用自己新建项目再各种添加已有项这么麻烦。