我正在尝试使用 cpprestsdk 来建立一个简单的 websocket 连接:
#include <cpprest/ws_client.h>
using namespace web;
using namespace web::websockets::client;
int main(int argc, char* argv[])
{
websocket_callback_client client;
client.connect(U("ws://localhost:1234")).then([]() { /* We've finished connecting. */ });
}
但是,当我运行该应用程序时,我得到了 error LNK2001: unresolved external symbol "public: __thiscall web::websockets::client::websocket_callback_client::websocket_callback_client(void)"(??0websocket_callback_client@client@websockets @web@@QAE@XZ)
我在链接器中包含了 bcrypt.lib;winhttp.lib;crypt32.lib;
,并且还在 C/C++ -> 预处理器中引用了 _NO_ASYNCRTIMP;
,但我似乎无法回避这个问题。
我可以使用 SDK 发出简单的 http 请求,看来只有 websockets 导致了这个问题。我还使用 VCPKG 安装了这个包,并且正在使用 SDK 的 Win32 版本。
谢谢, 乔治
最佳答案
您需要安装 websockets 功能:
.\vcpkg install cpprestsdk[websockets] --recurse
关于c++ - 错误 LNK2001:未解析的外部符号 web::websockets::client::websocket_callback_client,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63519676/