问题描述
我正在尝试使用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)
我在Linker中包含了bcrypt.lib;winhttp.lib;crypt32.lib;
,并且在C / C ++->预处理器中也引用了_NO_ASYNCRTIMP;
,但是我似乎无法逃脱这个问题。
我可以使用SDK发出简单的http请求,似乎只有websocket引起了问题。我还使用VCPKG安装了此软件包,并且正在使用sdk的Win32版本。
谢谢, 乔治
解决方法
您需要安装websockets功能:
.\vcpkg install cpprestsdk[websockets] --recurse