GAMES101 作业三 VS2022 CMake项目配置(全流程和踩坑记录)

做到作业三的时候发现调试有点麻烦,加上借用电脑跑虚拟机不太方便,摸索了从vcpkg开始到CMake项目运行的全流程。

01.配置vcpkg

参考的这篇文章:

https://blog.youkuaiyun.com/lhw330472787/article/details/140346948

vs2022自带的vcpkg不能使用,通过克隆仓库地址后,在目录内运行bat即可配置好。

git clone https://github.com/microsoft/vcpkg
./bootstrap-vcpkg.bat

02.安装OpenCV,Eigen

 参考的这篇文章:

https://blog.youkuaiyun.com/lhw330472787/article/details/140346948

自己安装的时候正常安装,opencv用时比较久,如果CPU使用率低,可以回车一下看是安装完成还是出错了。

.\vcpkg.exe install eigen3:x64-windows
.\vcpkg.exe install opencv:x64-windows
.\vcpkg.exe integrate install

另外在安装包完成以后会提供CMakeLists的配置,例如这样的:

CMake projects should use: "-DCMAKE_TOOLCHAIN_FILE=C:/soft/vcpkg-master/scripts/buildsystems/vcpkg.cmake"

All MSBuild C++ projects can now #include any installed libraries. Linking will be handled automatically. Installing new libraries will make them instantly available.
如果忘记了可以再次运行

03.启动项目

使用VS2022打开文件夹会自动识别CMake项目:

启动:

错误处理:

实测过程中主要出现了多个报错:

ninja 无法构建:

https://www.cnblogs.com/mengde-booker/p/17963657

安装英文语言包。

PowerShell错误:

(win10)解决neo4j提示:Powershell,不是内部或外部命令_powershell不是内部或外部命令-优快云博客

加入环境变量。

Eigen OpenCV错误:

实际上我的引用改为了:

#include <Eigen/Eigen>
#include <opencv2/opencv.hpp>

Win10环境下用CMake编译项目遇到与Eigen库相关的问题_cmake编译时找不到eigen-优快云博客

总结:

我最终的配置文件是(Eigen3  OpenCV都需要配置):

cmake_minimum_required(VERSION 3.10)
project(Rasterizer)
#set(CMAKE_TOOLCHAIN_FILE "C:/soft/vcpkg-master/scripts/buildsystems/vcpkg.cmake")
#find_package(OpenCV REQUIRED)
set(-DCMAKE_TOOLCHAIN_FILE=C:/soft/vcpkg-master/scripts/buildsystems/vcpkg.cmake)
set(CMAKE_CXX_STANDARD 17)

#include_directories(/usr/local/include ./include)
find_package(Eigen3  CONFIG REQUIRED)
find_package(OpenCV CONFIG REQUIRED)

#find_package(OpenCV CONFIG REQUIRED)
# note: 10 additional targets are not displayed.
add_executable(Rasterizer main.cpp rasterizer.hpp rasterizer.cpp global.hpp Triangle.hpp Triangle.cpp Texture.hpp Texture.cpp Shader.hpp OBJ_Loader.h)
target_link_libraries(Rasterizer PRIVATE ${OpenCV_LIBRARIES})
target_link_libraries(Rasterizer PRIVATE Eigen3::Eigen )

注:如果是黑屏检查一下是否有obj模型文件,

指定运行参数的方法还没找到,目前是指定shader的运行方式

最终可以愉快的调试了:

在 Visual Studio 2022 中使用 CMake 项目进行打包部署,可以通过以下步骤实现: ### 配置 CMake 项目 1. **确保安装了必要的组件**:在安装 Visual Studio 2022 时,需要确保选择了 C++ 工作负载,并且安装了 CMake 工具适用于 C++ 的调试器。这些工具是支持 CMake 项目开发与构建的基础 [^2]。 2. **创建或打开 CMake 项目**:可以直接在 Visual Studio 中打开包含 `CMakeLists.txt` 文件的文件夹,或者通过新建项目选择 CMake 项目模板来创建一个新的 CMake 项目。Visual Studio 将自动检测并加载 `CMakeLists.txt` 文件中的配置 [^1]。 3. **配置构建设置**:在 Visual Studio 中,可以通过“CMake”菜单下的“配置”选项来指定构建类型(如 Debug 或 Release)、目标平台等信息。这一步对于准备打包非常重要,因为它决定了生成的二进制文件的特性兼容性。 ### 构建项目 - 使用“CMake”菜单中的“构建全部”功能来编译整个项目。这将根据 `CMakeLists.txt` 文件中定义的规则生成所需的可执行文件或库文件 [^1]。 ### 打包与部署 1. **确定依赖项**:为了确保应用程序可以在其他机器上运行,需要识别所有必要的依赖项。这包括但不限于运行时库、第方库以及任何特定于操作系统的依赖。可以利用 Visual Studio 提供的工具检查生成的可执行文件所依赖的 DLL 文件。 2. **使用安装脚本或命令**:可以在 `CMakeLists.txt` 文件中添加安装指令,例如: ```cmake install(TARGETS MyExecutable DESTINATION bin) install(FILES myheader.h DESTINATION include) ``` 这些指令告诉 CMake 在执行安装过程时如何处理目标文件头文件 [^1]。 3. **执行安装**:通过命令行进入构建目录,然后运行 `cmake --build . --target install` 命令。此命令会按照 `CMakeLists.txt` 中定义的安装规则将文件复制到指定位置,完成项目的打包 [^1]。 4. **手动收集依赖项**:除了使用 CMake 安装外,可能还需要手动收集所有依赖项并将它们与你的应用程序一起分发。确保最终用户的系统上有所有必要的运行时支持。 5. **创建安装程序**:最后,可以使用诸如 NSIS (Nullsoft Scriptable Install System)、Inno Setup 等工具创建一个安装程序,将你的应用程序及其所有依赖项打包成一个单独的安装包,便于用户安装使用。 通过以上步骤,可以在 Visual Studio 2022 中有效地管理打包 CMake 项目,确保应用程序能够顺利地部署到目标环境中。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值