一、安装vscode
进入 vscode官网下载安装包,并进行安装,安装完成后需要下载C/C++插件:
这里使用vscode作为编辑器。若习惯使用vs或clion的根据个人习惯下载对应的编辑工具。
二、安装MinGW
进入mingw64下载地址,选择带posix的版本下载,如MinGw x86_64-8.1.0-release-posix-seh-rt_v6-rev0.7z。其他版本可能在编译opencv时出错。
解压完成后如图:
将bin目录路径加入到环境变量中:右键我的电脑->点击属性->点击高级系统设置.
进入到高级系统设置后选择高级选项卡,点击环境变量,里面有两个可以选择,一个是用户变量,一个是系统变量。这两个变量的顺序是,如果用户没有给出绝对路径,那么首先在自己的目录下查找,如果查找不到,则进入系统变量中查找,如果还是未查找到,则进入用户变量中查找,其中的变量Path告诉系统可执行文件的位置。
进入环境变量后,选择path,点击编辑,点击新建将mingw的bin目录添加到path中即可。
打开powershell,输入gcc -v,有
说明安装成功。
三、安装Cmake
从cmake官网下载cmake安装包,
安装的时候选择Add CMake to the system PATH for all users,加入系统环境变量的路径,保证可以在命令行使用
命令行输入cmake --help,验证是否安装成功。
成功显示:
四、编译eigen
从eigen下载最eigen3压缩包
解压完成后,在eigen目录下新建一个build文件夹,用于存放编译后的文件
打开之前安装好的cmake-gui.exe,位置在cmake安装目录的bin下:
选择eigen3的目录以及build目录:
点击下方的configure,在下拉框中选择mingw makefiles后点击finish
第一次会显示红色的:
需要注意的是,CMAKE_INSTALL_PREFIX这个key的value默认安装在C:/Program Files (x86)/Eigen3路径下,一般系统不会阻止安装在此目录下,当权限不足时会发生此情况。建议改到其他路径下。当然,不改也没有什么影响,后续还有其他方法修改。
再次点击configure,红色的会变白:
点击generate,等待完成。
管理员权限运行cmd,进入eigen3的build目录,运行mingw32-make,之后运行mingw32-make install。
若在mingw32-make install报错:一般是权限问题
1.检查是否使用了管理员方式打开cmd。
2.或者修改安装目录:打开cmake_install.cmake修改CMAKE_INSTALL_PREFIX目录后保存,然后重新执行mingw32-make install
删除解压出来的这个eigen目录(有时候build的时候会找错路径)
五、安装opencv
进入opencv下载source
解压后,新建build目录。同eigen编译方法:直到第一次configure后:
找到OPENCV_ENABLE_ALLOCATOR_STATS,不勾选后面的对勾:
点击Add entry:添加ENABLE_CXX11,value打勾:
然后再次点击configure,之后点击generate。
管理员权限运行cmd,进入build目录,运行mingw32-make(这个很慢,时间大概1h左右),或者使用mingw32-make -j 4 加速编译(4为编译线程数,根据电脑cpu线程数进行选择,一般4或8就行)。
编译过程中有提示信息不用管,最后出现build successful即为完成。
之后运行mingw32-make install。
这样opencv库就编译完成,你可以在build文件夹中找到install这个文件夹。
可以将 install移动到自己指定目录下,然后配置相应的环境变量,以便于cmake工具能够找到opencv这个库。
install的目录结构:
在系统变量中新建一个变量:点击新建
然后在path中添加opencv的bin目录:在install下的x64\mingw\bin。32位系统可能时x32.
以上opencv安装完成。
六、环境测试:
进入game101作业下载作业1,解压后使用vscode打开作业,需要修改CMakeLists.txt:中的include_directories
添加:之前编译好的eigen3和opencv的include目录:
我把eigen3装在了指定的位置,默认位置在C:/Program Files (x86)/Eigen3/include
include_directories(“D:/software/library/OpenCV/include”)
include_directories(“D:/software/library/Eigen/Eigen3/include/”)
完成作业1后:
打开cmd进入到作业的CMakeLists.txt所在目录,新建build目录后进入build
执行cmake -G “MinGW Makefiles” …/CMakeLists.txt。
若还是提示opencv或eigen库找不到,可以在CMakeLists.txt指定目录:
在set(CMAKE_CXX_STANDARD 17)后添加:
set(OpenCV_DIR “D:/software/library/OpenCV”) 这个是opencv的cmake所在目录,有以下文件:
set(Eigen3_DIR “D:/software/library/Eigen/Eigen3/share/eigen3/cmake”)
注意eigen3的安装位置,这个目录下应有以下文件:
然后执行mingw32-make,等待编译完成:
运行Rasterizer.exe后出现:
按A、D键可以左右旋转三角形
按esc键退出