作业1发布公告 – 计算机图形学与混合现实在线平台 (games-cn.org)
ps,主要拜读了GitHub大佬的作业代码并结合自己的理解加上了一些注释,更适合0基础宝子的体质,虚拟机和主机之间拖动文件出bug了,有空再根据自己的理解写一遍,做一些点微调(
1-主要任务:
2-实现
3-在虚拟机上编译
cmake_minimum_required(VERSION 3.10)
project(Rasterizer)
find_package(OpenCV REQUIRED)
set(CMAKE_CXX_STANDARD 17)
include_directories(/usr/local/include)
add_executable(Rasterizer main.cpp rasterizer.hpp rasterizer.cpp Triangle.hpp Triangle.cpp)
target_link_libraries(Rasterizer ${OpenCV_LIBRARIES})
这段代码是一个 CMake 配置文件的示例,它用于设置一个名为 "Rasterizer" 的 C++ 项目的构建过程。下面是对每一行代码的解释:
-
cmake_minimum_required(VERSION 3.10)
: 这行指定了构建这个项目所需的最小 CMake 版本。这里要求的是 3.10 版本或更高。 -
project(Rasterizer)
: 这行定义了项目的名称,这里是 "Rasterizer"。 -
find_package(OpenCV REQUIRED)
: 这行告诉 CMake 去查找 OpenCV 这个库。REQUIRED
选项表示如果找不到 OpenCV,CMake 将报错并停止构建过程。 -
set(CMAKE_CXX_STANDARD 17)
: 这行设置了 C++ 语言的标准版本。这里设置为 C++17。 -
include_directories(/usr/local/include)
: 这行命令告诉 CMake 在构建过程中包含指定的目录,这里是/usr/local/include
。这通常用于包含第三方库的头文件。 -
add_executable(Rasterizer main.cpp rasterizer.hpp rasterizer.cpp Triangle.hpp Triangle.cpp)
: 这行定义了一个可执行目标(在这个例子中是 "Rasterizer"),并列出了一些源文件和头文件。main.cpp
是程序的入口点,rasterizer.hpp
和rasterizer.cpp
是定义和实现一个名为 "Rasterizer" 的类的文件,Triangle.hpp
和Triangle.cpp
可能是定义和实现一个名为 "Triangle" 的类的文件。 -
target_link_libraries(Rasterizer ${OpenCV_LIBRARIES})
: 这行指定了在链接阶段需要链接到 "Rasterizer" 可执行文件的库。${OpenCV_LIBRARIES}
是一个变量,包含了通过find_package(OpenCV)
找到的 OpenCV 库文件。
这个 CMakeLists.txt 文件定义了如何构建一个使用 OpenCV 的 C++ 项目。要使用它,你需要在项目目录中运行 CMake 来生成构建文件,然后使用这些构建文件来编译项目。