vs2015配置vcpkg

Lucas在澳洲
Python领域优质创作者
2022-08-01 14:54:44

vs2015配置vcpkg以及安装opencv

为什么要配置vcpkg(优点是什么)

以往我们的配置方式都是在vs的属性管理器中配置opencv等第三方库。使用这些库,方便了我们程序员。但是这些开源的库大多数来自Linux。让我们在移植到Windows的vc开发环境非常苦难。尽管很多库支持了cmake,但是编译的过程依旧是复杂多样的。

vcpkg的优点

  • 自动帮我们获取开源库的源代码,操作起来像pip install一样简单。
  • 无缝集成Visual Studio,不需要设置库文件、头文件的所在目录,自动集成。
  • Visual Studio全平台支持,不仅支持Debug/Release、x86/x64编译,还支持UWP、ARM平台的编译。

获取vcpkg源码

获取的方式有两种:

  1. git clone
git clone https://github.com/microsoft/vcpkg

但是当git clone太慢的情况我们可以
进入https://hub.fastgit.org/%E8%BF%99%E4%B8%AA%E7%BD%91%E5%9D%80%E6%90%9C%E7%B4%A2vcpkg%E7%84%B6%E5%90%8E%E4%B8%8B%E8%BD%BD%E3%80%82
或者参考这个网址https://cloud.tencent.com/developer/article/1835785%E5%92%8C https://cloud.tencent.com/developer/article/1744627?from=article.detail.1702766 的方法
2. 下载压缩包
这两种方法的共同点就是我们需要找到vcpkg的github的网页。链接在这里: https://github.com/microsoft/vcpkg

方法1

在cmd中输入git clone https://github.com/microsoft/vcpkg

方法2

点击进入https://github.com/microsoft/vcpkg%EF%BC%8C%E4%B9%8B%E5%90%8E%E4%B8%8B%E8%BD%BD%E5%8E%8B%E7%BC%A9%E5%8C%85%E3%80%82%E4%B8%8B%E8%BD%BD%E5%90%8E%E8%A7%A3%E5%8E%8B%E3%80%82%E5%B0%B1%E5%AE%8C%E6%88%90%E6%BA%90%E4%BB%A3%E7%A0%81%E7%9A%84%E8%8E%B7%E5%8F%96%E3%80%82

运行安装的脚本

在完成源码的获取之后,我们会发现,有一个bat文件和一个sh文件,这里我们强调一下bat文件是给我们windows电脑使用的,而sh文件是Linux系统下使用的,所以我们需要自行去进行选择。

cmd中切盘到我们的vcpkg路径下,运行安装脚本
bootstrap-vcpkg.bat

安装Opencv

.\vcpkg.exe install opencv:x64-windows

这里我们要注意不同的系统输入的指令时不同的。我们可以参考https://vcpkg.io/en/packages.html%E8%BF%9B%E8%A1%8C%E4%B8%8B%E8%BD%BD%E3%80%82

关联vcpkg到Visual Studio

.\vcpkg.exe integrate project

此时会在“vcpkg安装目录\scripts\buildsystems”下,生成nuget配置文件。

打开Visual Studio,点击菜单“工具->NuGet包管理器->程序包管理器设置”,进入设置界面,点击“程序包源”。

工程配置

打开Visual Studio 后右键点击需要设置的工程(没有的话就去找 视图->解决方案资源管理器),选择“管理NuGet程序包”。

在右上角的“程序包源”中选择刚刚设置的“vcpkg”,点击最右侧的“安装”。

安装成功后,就大功告成了。

运行一个示例代码

#include <opencv2/opencv.hpp>

using namespace std;
using namespace cv;

int main() {
    Mat video_image;
    VideoCapture cap;
    cap.open(0);
    while (1) {
        cap >> video_image;
        imshow("test", video_image);
        waitKey(30);
    }
    destroyAllWindows();
    return 0;
}

可能遇到的报错

Error: vcpkg was unable to detect the active compiler's information. See above for the CMake failure output.
这个报错我就不附带图片了,因为问题很简单,就是把vcpkg的文件夹放到除C盘以外的地方就可以了,这个问题就解决了。

参考链接

win10 使用vcpkg 安装 opencv 教程 https://blog.csdn.net/zhangzeyuan56/article/details/110404771

vcpkg安装各种三方库出错的解决方法 https://blog.csdn.net/FK2016/article/details/81806427

关于使用vcpkg的一些技巧补充 https://blog.csdn.net/baidu_40840693/article/details/84719640

C++包管理工具 vcpkg 从安装到使用 https://www.bilibili.com/video/BV1HQ4y1a7cr?share_source=copy_web

C++码蛆(墙裂)强烈推荐vcpkg https://www.bilibili.com/video/BV1f54y127e4?share_source=copy_web

Browse packages https://vcpkg.io/en/packages.html

全面加速 GitHub,git clone 太慢的9种解决办法 https://cloud.tencent.com/developer/article/1835785

Github国内加速克隆及下载 https://cloud.tencent.com/developer/article/1744627?from=article.detail.1702766

...全文
248 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
GNU libiconv-1.15和libintl-0.19.8.1,VS2015工程和 Makefile.mak 命令行编译文件 CSDN-tags: libiconv1.15 libintl 0.19.8.1 VS2015 Makefile 声明: 最新版,修正了relocatable.c文件中GetModuleFileName函数的问题。 代码为本人良心制作,虽然花费了一定的时间和精力,但不保证完全没有错误。如果您下载并使用了本代码,将其包含在您发布的应用中,给您带来了经济上,心理上,生活上的损失,本人不负有责任。 所有代码都基于官网进行修改,iconv的代码来源于libiconv-1.15的lib目录,intl的代码来源于gettext-runtime的intl目录。 intl需要iconv的支持,如果想单独编译不需要iconv的intl, 请自行修改intl目录下的config.h文件, /* Define if you have the iconv() function and it works. */ #define HAVE_ICONV 1 /* Define to 1 if you have the header file. */ #define HAVE_ICONV_H 1 为: /* Define if you have the iconv() function and it works. */ /* #undef HAVE_ICONV */ /* Define to 1 if you have the header file. */ /* #undef HAVE_ICONV_H */ 并修改VS工程中预处理器定义,删掉/DDEPENDS_ON_LIBICONV=1 VS的工程为VS2015的工程文件,使用VC140工具集,如果没有2015,也可以用Makefile.mak文件来编译。 nmake /f Makefile.mak [DLL] [DEBUG] 指定 DLL=1 编译dll版本,默认是lib版本,libiconv.lib , libintl.lib。 指定 DEBUG=1 编译debug版本,默认是release版本。 同理,如果intl不需要iconv,请修改上面的配置文件选项,并, 删掉Makefile.mak中/DDEPENDS_ON_LIBICONV=1 配置文件的制作,参考了以下几处,修改的大概原则是,能定义的全定义了,就这样: https://github.com/kahrl/gettext-msvc 这个地址提供了libiconv和libintl的VS工程和配置文件。 https://github.com/winlibs 为编译PHP而修改的libiconv和libintl源码,libiconv是最新1.15版本,gettext不是。 附带的Cygwin目录中的工具 libiconv官方的制作文档,用cygwin配合VC,生成的配置文件。 欢迎同学们下载测试。有问题可以给我发邮件travel981cn@139.com

88

社区成员

发帖
与我相关
我的任务
社区管理员
  • c_university_162
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧