使用 vcpkg 安装 mathgl,但使用 find_package 命令却找不到的问题

在使用VSCode、CMake和Vcpkg进行C++开发时,遇到MathGL库找不到的错误。解决方法是:复制<vcpkg_home>installedx##-windowsshare目录下的mathgl文件夹并重命名为mathgl2,然后在CMakeLists.txt中将find_package的MathGL改为MathGL2。只需链接mgl或mgl-static一个库即可。

问题描述

使用 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-windowsx86-windows两个平台的MathGL, 记得都要复制并重命名.

  • CMakeLists.txtfind_package命令中的MathGL改为MathGL2:
find_package(MathGL2 CONFIG REQUIRED)
  • 再次尝试构建, 应该就可以通过了.

  • 另外需要指出的是, 在 target_link_libraries命令中, 只需要链接mglmgl-static一个即可. (mgl是动态链接库, mgl-static是静态链接库)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

falwat

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值