原文地址 github.com
因为 windows 环境下使用 g++ 编译器 assimp 库链接失败, 报错 "undefined reference to'Assimp::Importer::Importer()", 后来发现使用 MSVC 编译器没有这个问题, 踩了几个坑终于搭建成功, 在此记录一下基于VSCode + MSVC编译器的 OpenGL 开发环境配置.
另外, mingw/g++ 开发环境在 g++ 分支 visual studio 开发环境在 vs2019 分支.
1. 安装所需软件
VSCode 安装 C++ extension
安装带 C++ build tools 的 Visual Studio, 下载独立的 C++ build tools 也可以.
其他所用的库在项目中的 include 文件夹里
2. 配置环境变量
- Path 中添加 assimp 库
1 | D:\Opengl\Assimp\bin\x86 # 这样就不需要把assimp.dll放到build目录了 |
- 新建 INCLUDE 环境变量, 添加以下目录
1 | D:\Program\VS2019\VS\VC\Tools\MSVC\14.28.29333\include |
- 新建 LIB 环境变量, 添加以下目录
1 | D:\Program\VS2019\VS\VC\Tools\MSVC\14.28.29333\lib\x86 |
3. 配置 vscode
- 新建目录 OpenGl 并使用 VSCode 打开,
.vscode
目录下 (没有就新建) 创建settings.json
, 配置以下内容
1 | { |
- .vscode 下创建
c_cpp_properties.json
1 | { |
- .vscode 下创建
tasks.json
1 | { |
.vscode 下创建 launch.json
1 | { |
注意事项
要确保环境变量和项目中的库保持一致 要么都是 x86 要么都是 x64
确保使用 vsdevcmd 进行编译
遇到 "undefined reference to xxx", 先检查 tasks.json 链接缺失的库, 再检查环境变量
编译时需要引用 build 文件夹, 但是 build 文件夹 git 已忽略, 因此需要自己提前新建好