问题描述
使用 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
是静态链接库)