Alt+Enter怎么没有(enter+alt)
1485
2022-05-29
0. 参考资料:
Windows10下配置VSCode、Mingw、Cmake、Eigen、OpenCV环境(为GAMES101作业构筑Win环境)
games101【作业0】环境配置——windows环境配置
1. 基础软件依赖
关于gcc与cmake的安装参考之前博文
https://bbs.huaweicloud.com/blogs/336631
https://bbs.huaweicloud.com/blogs/344843
注意:
cmake安装的时候选择Add CMake to the system PATH for all users,加入系统环境变量的路径,保证可以在命令行使用
命令行输入cmake --help,验证是否安装成功
mingw要选择posix版本的Mingw下载,否则编译opencv时会出错
mingw安装时解压到任意地方,并且把bin的路径添加到系统环境变量PATH中,完成后在命令行输入g++ -v,验证是否安装成功
2. 第三方库的编译和安装
2.1 Eigen(线性代数运算库)
-:Eigen
安装说明:
注意版本要与opencv之间关联,这里选择3.4.0 版本安装
在eigen的根目录下新建一个build目录
打开cmake软件,source目录设置成eigen的根目录,build目录设置成刚刚新建的目录,然后点击configure,出来的makefile的格式选择mingw,等待config结束后点击generate。
管理员权限运行cmd,进入build目录,运行mingw32-make,之后运行mingw32-make install
注:此时就可以删除解压出来的eigen目录(因为上面安装的已经安装到了c盘Program File x86里了,有时候build的时候会找错路径)
2.2 OpenCV库编译
-opencv-win
解压到任意目录,opencv/source/目录下新建一个build目录
打开cmake软件,source目录设置成opencv/source/目录,build目录设置成刚刚新建的build目录,然后点击configure,出来的makefile的格式选择mingw,等待config结束
找到OPENCV_ENABLE_ALLOCATOR_STATS,不勾选后面的对勾(不这样会编译错误), 再次点击configure,之后点击generate
以管理员权限运行cmd,进入build目录,运行mingw32-make(这个很慢),之后运行mingw32-make install
设置opencv的环境变量,管理员权限运行cmd, 执行 setx -m OpenCV_DIR path_to_build/lib/(本质就是增加环境变量OPENCV_DIR),然后把path_to_build/bin添加到path系统环境变量里
以上用到工具及软件的版本信息如下:
gcc: x86_64-8.1.0-release-posix-seh-rt_v6-rev0.7z
cmake: cmake-3.23.0-windows-x86_64.msi
eigen: eigen-3.4.0.zip
opencv: opencv-4.5.5-vc14_vc15.exe
3. CMakeLists文件适配
由于上文已经在环境变量中设置了EIGEN3_INCLUDE_DIR变量。因此一下配置文件中要增加环境变量前缀$ENV{}
cmake_minimum_required (VERSION 2.8.11) project (Transformation) find_package(Eigen3 REQUIRED) include_directories($ENV{EIGEN3_INCLUDE_DIR}) add_executable (Transformation main.cpp)
4. 关于作业0的说明
本次作业要点:
环境搭建与使用
Eigen线代库的使用说明
Eigen的入门材料:
https://blog.csdn.net/hongge_smile/article/details/107296658
作业情况说明:
目标实现向量旋转
/* * Task 0 * 给定一个点 P=(2,1), 将该点绕原点先逆时针旋转 45◦,再平移 (1,2), 计算出 * 变换后点的坐标(要求用齐次坐标进行计算)。 */ // TODO: Define point P Eigen::Vector3d P(2.0f, 1.0f, 1.0f); // TODO: Define rotation matrix and transposion matrix Eigen::Matrix3d R; Eigen::Matrix3d T; double theta = 45.0 / 180.0 * M_PI; R << cos(theta), -1.0 * sin(theta), 0, sin(theta), sin(theta), 0, 0, 0, 1; T << 1, 0, 1, 0, 1, 2, 0, 0, 1; // TODO: T * R * P Eigen::Vector3d Res; Res = T* R * P; std::cout << Res << std::endl; return 0; //result: 1.70711 4.12132 1
VR视频 图像处理 渲染 游戏开发
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。