跳转至

作业环境配置

关于作业

个人版本作业,仅供参考 Github

注意

不推荐使用 Windows 环境,可用作业提供的 VirtualBox 虚拟机

以 Ubuntu 22.04 为例,使用 Visual Studio Code 1.90.0

  1. 安装 eigen 及 opencv

Bash
sudo apt update
sudo apt install libeigen3-dev libopencv-dev
2. 在作业文件夹内新建 .vscode,并写入文件:

JSON
{
    "configurations": [
        {
            "name": "Linux",
            "includePath": [
                "/usr/include/opencv4",
                "/usr/include/opencv4/opencv2",
            ],
            "compilerPath": "/usr/bin/g++",
            "cStandard": "c17",
            "cppStandard": "c++17",
            "intelliSenseMode": "linux-gcc-x64",
            "compilerArgs": [
                "-Wall",
                "-Wpedantic",
                "-Wextra"
            ]
        }
    ],
    "version": 4
}
CMake
// 无需改动
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})

3. 成功,可以正常编译

Bash
mkdir build
cd build
cmake ..
make

./Rasterizer

以 arm64 架构的 macOS Sonoma 14.5 为例

  1. 安装 eigen 和 opencv

Bash
brew install eigen
brew install opencv
2. 在作业文件夹内新建 .vscode,并写入文件:

注意

这里需要手动设置 opencv 的路径及架构,否则会使用默认的x86_64架构导致编译失败

JSON
{
    "configurations": [
        {
            "name": "Mac",
            "includePath": [
                "/opt/homebrew/opt/opencv",
                "/opt/homebrew/opt/opencv/include/opencv4",
                "/opt/homebrew/opt/eigen"
            ],
            "compilerPath": "/usr/bin/g++",
            "cStandard": "c17",
            "cppStandard": "c++17",
            "intelliSenseMode": "macos-gcc-arm64",
            "compilerArgs": [
                "-Wall",
                "-Wpedantic",
                "-Wextra"
            ]
        }
    ],
    "version": 4
}
CMake
cmake_minimum_required(VERSION 3.10)
project(Rasterizer)

find_package(OpenCV REQUIRED)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_OSX_ARCHITECTURES "arm64") // 需选择架构 arm64

include_directories(/usr/local/include)

add_executable(Rasterizer main.cpp rasterizer.hpp rasterizer.cpp Triangle.hpp Triangle.cpp)
target_link_libraries(Rasterizer ${OpenCV_LIBRARIES})

3. 成功,可以正常编译

Bash
mkdir build
cd build
cmake ..
make

./Rasterizer

评论