问题描述
使用 vscode + cmake + vcpkg 进行c++开发, 很 Nice. 但是在使用MathGL库的时候却出现了问题, 如果你的CMakeLists.txt 是这样写的:
cmake_minimum_required(VERSION 3.0.0)
project(mgl_demo VERSION 0.1.0)
find_package(MathGL CONFIG REQUIRED)
add_executable(mgl_demo main.cpp)
target_link_libraries(mgl_demo mgl mgl-static)
那多半会报出如下的错误信息:
你可以参考: 解决vcpkg+cmake无法find到MathGL的问题 这篇文章, 不过我觉得这并不是一劳永逸的方法.
解决方法:
- 找到
<vcpkg_home>\installed\x##-windows\share\目录, 将此目录下的mathgl文件夹, 复制一份, 并重命名为mathgl2.
如果你安装了
x64-windows和x86-windows两个平台的MathGL, 记得都要复制并重命名.
- 将
CMakeLists.txt中find_package命令中的MathGL改为MathGL2:
find_package(MathGL2 CONFIG REQUIRED)
-
再次尝试构建, 应该就可以通过了.
-
另外需要指出的是, 在
target_link_libraries命令中, 只需要链接mgl或mgl-static一个即可. (mgl是动态链接库,mgl-static是静态链接库)



















