未解决的外部符号错误 cpprestsdk

问题描述

我成功构建了一个 cpprestsdk 最新版本 2.10.18,我看到 cpprest141_2_10d.lib 位于 \Binaries\Debug 文件夹中,cpprest141_2_10.lib 也在 \Binaries\Release 上,但是当我尝试时出现问题用它 它说

dgsbnewapitest.obj : error LNK2001: unresolved external symbol "public: static class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> > const web::http::methods::POST" (?POST@methods@http@web@@2v?$basic_string@_WU?$char_traits@_W@std@@v?$allocator@_W@2@@std@@b)
Fatal error LNK1120: 1 unresolved externals

我不知道如何处理问题,即使我试图在我的项目中做一些事情,看起来也没有链接外部库

C++ -> 预处理器定义,添加 _NO_ASYNCRTIMP 甚至 "_NO_PPLXIMP"

Linker -> 输入并添加 cpprest141_2_10d.lib(debug) 或 cpprest141_2_10.lib(Release)

在我添加的 VS 编辑器部分

#pragma comment(lib,"bcrypt.lib")
#pragma comment(lib,"winhttp.lib")
#pragma comment(lib,"crypt32.lib")

不管怎样都行不通 我已经上传了我在下面构建的库的二进制文件

https://github.com/abcdefghi123456jk/cpprestsdk-binary/releases/tag/2.10.18

请看一下

有什么想法吗?非常感谢

更新:

我将详细说明我是如何构建 cpprestsdk 的

M$推荐的方式 https://github.com/microsoft/cpprestsdk/wiki/How-to-build-for-Windows 完全不工作,另一个博主的方式 https://sageai.blogspot.com/2020/12/how-to-build-cpprestsdk-using-vcpkg-in.html 只能构建调试库,但不能构建发布库,我尝试了下面的方法,它对我有

#1 git clone 库源

git clone https://github.com/Microsoft/cpprestsdk.git

#2 安装 vcpkg

.\vcpkg\bootstrap-vcpkg.bat

.\vcpkg\vcpkg integrate install

#3 下载依赖库我尝试构建32位库,所以我下载了32位库

.\vcpkg\vcpkg install --triplet x86-windows zlib openssl boost-system boost-date-time boost-regex boost-interprocess websocketpp brotli

#4 git websocketpp,我对CPP和cmake不太熟悉,这就是为什么我必须将websocketpp源git git到websocketpp文件夹,以确保cmake能够找到websocketpp,我所做的是>

 cd Release
 cd libs
 git clone git://github.com/zaphoyd/websocketpp.git 

#5 万事俱备,可以cmake工程了,然后我建了一个文件夹存放VS工程文件

 mkdir build.x86v141
 cd build.x86v141
 cmake ../Release -A Win32 -DCMAKE_TOOLCHAIN_FILE=/REPLACE_THIS_WITH_PATH_TO/vcpkg/scripts/buildsystems/vcpkg.cmake

之后,我确实看到生成了VS项目文件,然后我打开它并构建它们,就这样

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)