问题标签 [vcpkg]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - vcpkg 不适用于谷歌测试
我安装并集成了最新版本的 vcpkg:
我安装了谷歌测试:
我gtest.h
在 Visual Studio 2015 Update 3 的项目中包含:
它编译得很好,但我有链接器错误:
显然,Visual Studio 不知道它应该与gtest.lib
. 我不明白为什么。Vcpkg 只说“链接将被自动处理”。不知道它将如何做到这一点。
在我的项目的“附加库依赖项”中,我可以看到这些继承的值:
并$(VcpkgRoot)
决心e:\work\vcpkg\installed\x64-windows\
。所以看起来整合是成功的。但是 Visual Studio 如何知道它应该与gtest.lib
?
请注意,如果我gtest.lib
手动添加到“附加依赖项”,一切正常,并gtest.dll
自动复制到输出目录。
c++ - 命令行上的 vcpkg 设置错误
我正在尝试使用vcpkg 工具编译 dlib 19.4
因为我在编译 CMAKE 和使用 Boost.Python 时遇到问题
修复 dlib 的编译器问题。
尽管我什至在运行基本步骤时都遇到了问题
让 vcpkg 包工作:
(我还为此工具下载了 Visual Studio 2017)
c++ - 使用 CMake 和 vcpkg 找不到 GLFW 目录
在 VS2017 中使用 CMake 时,我一直无法弄清楚如何让 CMake 找到并设置正确的 GLFW CMake 常量。任何帮助将不胜感激 :)。
我glfw3
是通过微软的vcpkg
工具下载的。我已检查文件确实存在于vcpkg
将它们放入 ( ~\vcpkg\installed\x86-windows\include
) 的目录中。我在这里CMakeSettings.json
按照他们的文档设置了我的。我使用该教程作为正确设置 GLFW 的基础。
然后我用它find_package(glfw3 REQUIRED)
来查找glfw3
库。这不会吐出任何错误。其实CMakeLists.txt
根本不抱怨。它处于抱怨的编译阶段。
之后,我将glfw3
with添加target_link_libraries(exe ${GLFW3_LIBRARIES})
到可执行文件中。
然后当我尝试构建一个简单的示例(包括头文件)时,编译失败,因为它找不到GLFW/glfw3.h
.
来自 MSVC 的错误:
这是我CMakeLists.txt
的补充参考:
GLFW3_LIBRARIES
我glfw3Config.cmake
通过窥探vcpkg
安装目录中的内容(~\vcpkg\installed\x86-windows\share\glfw3
)
以防万一,main.cpp
:
我也尝试过cmake
从命令行调用,但也无济于事。
我错过了什么吗?我可能误解了vcpkg
文档中的某些内容吗?我真的不知道我错过了什么......:/此外,我应该说,我对 CMake 也很陌生。
visual-studio - 使用 Visual Studio 和 vcpkg 在 SFML 上出现 CMake find_package 错误
根据标题,CMake
无法通过s宏找到SFML
我使用 Microsoft 的vcpkg
工具安装的。CMake
find_package()
我已验证SFML
已安装在已vcpkg
安装目录 ( ~\vcpkg\installed\x86-windows
) 中。
此外,我还在文件vcpkg
中包含了工具链CMakeSettings.json
文件。
具体错误是:
CMakeSettings.json
(简化 - 仅调试配置):
CMakeLists.txt
(也简化):
我不认为我错过了什么。SFML
提供了一个findSFML.cmake
应该vcpkg
通过工具链文件自行处理的内容(假设我已经正确理解了他们的文档)。我肯定错过了什么?
c++ - Google Mock 和 Vcpkg 未解决的外部符号错误
我用一个模拟类创建了一个简单的 C++ 测试项目:
我使用 Visual Studio 2017 (15.3.3)。这是一个具有所有默认设置的 x86 调试项目。
我已将 gtest.lib 和 gmock.lib 添加到链接器。当我编译和链接时,我得到这个错误:
我已经用 Vcpkg 下载了 gtest 包。它被编译为 32 位 DLL。Gtest 工作正常,但是当我实例化模拟类时,我得到了链接错误。我还用 CMake 项目进行了测试,我得到了同样的错误。
c++ - vcpkg 安装失败并出现“SSL 连接错误”
当我尝试使用 vcpkg 安装 libxml2 软件包时,它给了我以下错误。
如何克服这个问题?有没有办法在 vcpkg 中使用 http 而不是 https?或者我可以跳过 sll 检查吗?
.\vcpkg 安装 libxml2
将构建和安装以下软件包:
- libiconv:x86-windows
- liblzma:x86-windows
- libxml2:x86-windows
- zlib:x86-windows
将安装其他软件包 (*) 以完成此操作。
启动包 1/4:zlib:x86-windows
构建包 zlib:x86-windows...
-- CURRENT_INSTALLED_DIR=...
-- 正在下载http://www.zlib.net/zlib-1.2.11.tar.gz ...
-- 下载http://www.zlib.net/zlib-1.2.11.tar.gz ... 失败。Status: 56;"从对端接收数据失败"
-- 正在下载https://downloads.sourceforge.net/project/libpng/zlib/1.2.11/zlib-1.2.11.tar.gz ...
-- 下载https://downloads.sourceforge.net/project/libpng/zlib/1.2.11/zlib-1.2.11.tar.gz ...失败。状态:35;“SSL 连接错误”
scripts/cmake/vcpkg_download_distfile.cmake:82 处的 CMake 错误(消息):无法下载文件。在https://github.com/Microsoft/vcpkg/issues添加镜像或提交问题
调用堆栈(最近的调用优先):ports/zlib/portfile.cmake:3 (vcpkg_download_distfile) scripts/ports.cmake:72 (include)
错误:构建包 zlib:x86-windows 失败:BUILD_FAILED 请确保您使用的是最新的端口文件,然后在https://github.com/Microsoft/vcpkg/issues
.\vcpkg update
提交问题,包括:
c++ - 使用 Cmake-gui 和 vcpkg
我正在为我的项目测试 vcpkg,但遇到了 cmake-gui 的问题
我已经安装了 vcpkg,在 vcpkg 的帮助下安装了 Boost 库。当我通过命令行编译时,一切正常。我使用命令
但问题是当我想使用 cmake-gui 生成构建文件时。它报告未找到 Boost。
我试图添加
到我的 Makefile 的顶部,但它没有帮助。我也尝试使用 add_definitions 和 add_compile_options,但没有成功。
那么我应该在我的 cmake 文件中添加什么才能将 cmake-gui 与 vcpkg 一起使用?
c++ - build with gtest failed
OS:x64 win7 sp1 with vs2017
I use vcpkg to install gtest, and then try to test it.
I create a dir and it has two files:
Then I use cmake .. "-DCMAKE_TOOLCHAIN_FILE=C:/src/vcpkg/scripts/buildsystems/vcpkg.cmake"
and cmake --build .
, and here is the log:
It seems that "RUN_ALL_TEST" is not be defined.
So how to solve the problem?
c++ - 让 cURL 与 Visual Studios 2017 一起工作
*编辑:我按照以下步骤在 64 位机器上的 VS 2017 中使用 CURL(原始问题见下文):
首先安装 vcpkg:
- 使用 gitbash克隆vcpkg到
C:\Program Files
- 在命令提示符下导航到
C:\Program Files\vcpkg
- 在命令提示符下运行:
.\bootstrap-vcpkg.bat
- 在命令提示符下运行:
vcpkg integrate install
然后使用 vcpkg 和 Visual Studios 2017 命令提示符安装 cURL:
- 打开 a
VS 2017 Command prompt
并导航到 vcpkg 文件夹(在哪里vcpkg.exe
) 运行:(
vcpkg install curl[*]:x64-windows
请注意,下载和运行可能需要大约半小时,如果它看起来像是“卡在”部分,请不要担心)。*编辑:以前我的指令说要运行
vcpkg install curl:x64-windows
,但我在[*]
@i7clock 的要求下添加了启用 sftp 和 scp 协议。在这一步之后,您应该检查以确保 curl 安装正确。为此,您应该在 VS 2017 中创建一个新项目并尝试包含
#include curl/curl.h
而不添加任何其他包含目录。如果你不能这样做,那么你的 curl 安装出了点问题。您应该删除 curl(甚至可能是 vcpkg 文件夹并进行全新安装),直到您可以包含curl/curl.h
.*重要提示:仅当您在 x64 中使用 x64 调试器/编译时,这才有效!如果您不能包含 curl 目录,请检查以确保您的调试设置为正确的 Windows 版本。
您可能还需要禁用 SSL 对等验证:
- 将代码
curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, FALSE);
放在请求之前(见下文)。请注意,这只是必要的,因为我不知道如何获取证书以使用 curl。我在这里有一个关于这个问题的尚未回答的 stackoverflow 帖子。
以下是您可能需要尝试运行的一些其他步骤,但我最终发现它们不是必需的:
- 导航到 vcpkg\packages\curl_x64-windows\lib 以找到 libcurl.lib 文件。
- 在 Properties -> Linker 下的 Additional Library Directories 中包含 libcurl.lib 的路径
- 在 Linker -> Input -> Additional Dependencies 下的 Additional Dependencies 中包含 libcurl.lib
- 放置
CURL_STATICLIB
在属性 -> C/C++ -> 预处理器 -> 预处理器定义
这是我现在工作的代码:
*编辑:这是修复之前对我的旧问题的其余解释:
我正在尝试使用 cURL 进行 API 调用,以便我可以开始获取实时股票数据,但我遇到了困难让它在 VS 2017 中运行。我尝试使用以下步骤使用 vcpckg 进行安装:
根据 vcpkg 文档,我现在应该可以简单地 #include ,但找不到该文件夹。如果我尝试从 vcpkg\packages\curl_x86\include 和#include 中包含“include”目录,我可以构建我的项目。我也可以访问一些类,但如果我尝试设置 curl_global_init(CURL_GLOBAL_DEFAULT) ,如本例所示,我会收到链接器错误。