Visual studio NanoMsg与VS2017的链接错误
我正在尝试在windows机箱上构建nanomsg下一代()。我正在使用VS2017。这台机器运转得很好 我得到链接错误。我已验证nng.lib文件位于: D:\Source\LinkWareMessageBus\nng\lib Dumbin.exe说符号都已就位(没有编译或链接错误) 链接器/常规/附加库目录为:D:\Source\LinkWareMessageBus\nng\lib .h文件可以正常读取。但我发现以下链接错误:Visual studio NanoMsg与VS2017的链接错误,visual-studio,visual-studio-2017,nanomsg,Visual Studio,Visual Studio 2017,Nanomsg,我正在尝试在windows机箱上构建nanomsg下一代()。我正在使用VS2017。这台机器运转得很好 我得到链接错误。我已验证nng.lib文件位于: D:\Source\LinkWareMessageBus\nng\lib Dumbin.exe说符号都已就位(没有编译或链接错误) 链接器/常规/附加库目录为:D:\Source\LinkWareMessageBus\nng\lib .h文件可以正常读取。但我发现以下链接错误: Severity Code Description
Severity Code Description Project File Line Suppression State
Error LNK2019 unresolved external symbol __imp__nng_setopt referenced in function "int __cdecl client(char const *,char const *)" (?client@@YAHPBD0@Z) LinkWareMessageBus D:\Source\LinkWareMessageBus\LinkWareMessageBus.obj 1
Error LNK2019 unresolved external symbol __imp__nng_listen referenced in function "int __cdecl server(char const *)" (?server@@YAHPBD@Z) LinkWareMessageBus D:\Source\LinkWareMessageBus\LinkWareMessageBus.obj 1
Error LNK2019 unresolved external symbol __imp__nng_dial referenced in function "int __cdecl client(char const *,char const *)" (?client@@YAHPBD0@Z) LinkWareMessageBus D:\Source\LinkWareMessageBus\LinkWareMessageBus.obj 1
Error LNK2019 unresolved external symbol __imp__nng_strerror referenced in function "void __cdecl fatal(char const *,int)" (?fatal@@YAXPBDH@Z) LinkWareMessageBus D:\Source\LinkWareMessageBus\LinkWareMessageBus.obj 1
Error LNK2019 unresolved external symbol __imp__nng_send referenced in function "int __cdecl server(char const *)" (?server@@YAHPBD@Z) LinkWareMessageBus D:\Source\LinkWareMessageBus\LinkWareMessageBus.obj 1
Error LNK2019 unresolved external symbol __imp__nng_recv referenced in function "int __cdecl client(char const *,char const *)" (?client@@YAHPBD0@Z) LinkWareMessageBus D:\Source\LinkWareMessageBus\LinkWareMessageBus.obj 1
Error LNK2019 unresolved external symbol __imp__nng_free referenced in function "int __cdecl client(char const *,char const *)" (?client@@YAHPBD0@Z) LinkWareMessageBus D:\Source\LinkWareMessageBus\LinkWareMessageBus.obj 1
Error LNK2019 unresolved external symbol __imp__nng_pub0_open referenced in function "int __cdecl server(char const *)" (?server@@YAHPBD@Z) LinkWareMessageBus D:\Source\LinkWareMessageBus\LinkWareMessageBus.obj 1
Error LNK2019 unresolved external symbol __imp__nng_sub0_open referenced in function "int __cdecl client(char const *,char const *)" (?client@@YAHPBD0@Z) LinkWareMessageBus D:\Source\LinkWareMessageBus\LinkWareMessageBus.obj 1
这些是我的VS2017设置(x64.lib和x64项目)
我还在nng.lib文件中附加符号的dumpbin
我怀疑的是,VS2017没有正确配置以查找.lib(除了将路径添加到链接器/其他库之外),我应该怎么做
更新 我不再说这很简单。但我确实走得更远了,也许你可以帮助我越过终点线。尽管我告诉VS2017在哪里可以找到nng.lib(路径和名称)。我还尝试将它与kernel32.lib user32.lib和其他必需的lib放在一起 嗯。我现在不再得到有关nng_xxxx符号的错误。相反,它现在抱怨nng.lib正在寻找的符号 见下文: 这是指向VS2017链接详细日志的链接: ```
```您正在查找的符号(基于更新)是ws2_32.lib中的Winsock函数。您添加了目录,但是否将库添加到了链接器中?告诉我为什么必须将nng.lib放入:C:\Program Files(x86)\Windows Kits\10\lib\10.0.17134.0\um\x64中我检查了该路径和文件上的所有安全性,而且是完全访问。那么为什么需要将它放入Windows工具包中呢?如果它在您将它放在那里时起作用,但在您以前使用过它的地方不起作用,我怀疑您的项目设置有问题。@TriskalJM更正:不要使用导入库道具。将其添加到依赖项列表:kernel32等。在其他库中添加文件夹的路径。链接将在您的附加库路径中找到。实际上,我从gdamore得到一个答案,我至少需要三个:ws2_32 mswsock advapi32-这解决了我的链接问题。
Severity Code Description Project File Line Suppression State
Error LNK2019 unresolved external symbol __imp_WSARecvFrom referenced in function nni_win_udp_sysfini LinkWareMessageBus D:\Source\LinkWareMessageBus\nng.lib(win_udp.c.obj) 1
Error LNK2019 unresolved external symbol __imp_WSACleanup referenced in function nni_plat_fini LinkWareMessageBus D:\Source\LinkWareMessageBus\nng.lib(win_thread.c.obj) 1
Error LNK2001 unresolved external symbol __imp_WSACleanup LinkWareMessageBus D:\Source\LinkWareMessageBus\nng.lib(win_tcp.c.obj) 1
Error LNK2001 unresolved external symbol __imp_WSACleanup LinkWareMessageBus D:\Source\LinkWareMessageBus\nng.lib(win_udp.c.obj) 1
Error LNK2019 unresolved external symbol __imp_bind referenced in function nni_win_tcp_sysfini LinkWareMessageBus D:\Source\LinkWareMessageBus\nng.lib(win_tcp.c.obj) 1
Error LNK2001 unresolved external symbol __imp_bind LinkWareMessageBus D:\Source\LinkWareMessageBus\nng.lib(win_udp.c.obj) 1
Error LNK2001 unresolved external symbol __imp_bind LinkWareMessageBus D:\Source\LinkWareMessageBus\nng.lib(win_pipe.c.obj) 1
Error LNK2019 unresolved external symbol __imp_closesocket referenced in function nni_plat_tcp_ep_init LinkWareMessageBus D:\Source\LinkWareMessageBus\nng.lib(win_tcp.c.obj) 1
Error LNK2001 unresolved external symbol __imp_closesocket LinkWareMessageBus D:\Source\LinkWareMessageBus\nng.lib(win_udp.c.obj) 1
Error LNK2001 unresolved external symbol __imp_closesocket LinkWareMessageBus D:\Source\LinkWareMessageBus\nng.lib(win_pipe.c.obj) 1
Error LNK2019 unresolved external symbol __imp_getsockname referenced in function nni_win_tcp_sysfini LinkWareMessageBus D:\Source\LinkWareMessageBus\nng.lib(win_tcp.c.obj) 1
Error LNK2001 unresolved external symbol __imp_getsockname LinkWareMessageBus D:\Source\LinkWareMessageBus\nng.lib(win_udp.c.obj) 1
Error LNK2001 unresolved external symbol __imp_getsockname LinkWareMessageBus D:\Source\LinkWareMessageBus\nng.lib(win_pipe.c.obj) 1
Error LNK2019 unresolved external symbol __imp_listen referenced in function nni_win_tcp_listen LinkWareMessageBus D:\Source\LinkWareMessageBus\nng.lib(win_tcp.c.obj) 1
Error LNK2001 unresolved external symbol __imp_listen LinkWareMessageBus D:\Source\LinkWareMessageBus\nng.lib(win_pipe.c.obj) 1
Error LNK2019 unresolved external symbol __imp_setsockopt referenced in function nni_plat_tcp_pipe_set_nodelay LinkWareMessageBus D:\Source\LinkWareMessageBus\nng.lib(win_tcp.c.obj) 1
Error LNK2001 unresolved external symbol __imp_setsockopt LinkWareMessageBus D:\Source\LinkWareMessageBus\nng.lib(win_udp.c.obj) 1
Error LNK2001 unresolved external symbol __imp_setsockopt LinkWareMessageBus D:\Source\LinkWareMessageBus\nng.lib(win_pipe.c.obj) 1
Error LNK2019 unresolved external symbol __imp_socket referenced in function nni_plat_tcp_ep_init LinkWareMessageBus D:\Source\LinkWareMessageBus\nng.lib(win_tcp.c.obj) 1
Error LNK2001 unresolved external symbol __imp_socket LinkWareMessageBus D:\Source\LinkWareMessageBus\nng.lib(win_udp.c.obj) 1
Error LNK2001 unresolved external symbol __imp_socket LinkWareMessageBus D:\Source\LinkWareMessageBus\nng.lib(win_pipe.c.obj) 1
Error LNK2019 unresolved external symbol __imp_WSAStartup referenced in function nni_win_tcp_sysinit LinkWareMessageBus D:\Source\LinkWareMessageBus\nng.lib(win_tcp.c.obj) 1
Error LNK2001 unresolved external symbol __imp_WSAStartup LinkWareMessageBus D:\Source\LinkWareMessageBus\nng.lib(win_udp.c.obj) 1
Error LNK2019 unresolved external symbol __imp_WSAGetLastError referenced in function nni_plat_tcp_pipe_set_nodelay LinkWareMessageBus D:\Source\LinkWareMessageBus\nng.lib(win_tcp.c.obj) 1
Error LNK2019 unresolved external symbol __imp_WSAIoctl referenced in function nni_plat_tcp_ep_init LinkWareMessageBus D:\Source\LinkWareMessageBus\nng.lib(win_tcp.c.obj) 1
Error LNK2019 unresolved external symbol __imp_WSARecv referenced in function nni_win_tcp_sysfini LinkWareMessageBus D:\Source\LinkWareMessageBus\nng.lib(win_tcp.c.obj) 1
Error LNK2019 unresolved external symbol __imp_WSASend referenced in function nni_win_tcp_sysfini LinkWareMessageBus D:\Source\LinkWareMessageBus\nng.lib(win_tcp.c.obj) 1
Error LNK2019 unresolved external symbol inet_ntop referenced in function nni_plat_tcp_ntop LinkWareMessageBus D:\Source\LinkWareMessageBus\nng.lib(win_tcp.c.obj) 1
Error LNK2019 unresolved external symbol __imp_WSASendTo referenced in function nni_win_udp_sysfini LinkWareMessageBus D:\Source\LinkWareMessageBus\nng.lib(win_udp.c.obj) 1
Error LNK2019 unresolved external symbol __imp_htons referenced in function resolv_ip LinkWareMessageBus D:\Source\LinkWareMessageBus\nng.lib(win_resolv.c.obj) 1
Error LNK2019 unresolved external symbol __imp_getaddrinfo referenced in function resolv_task LinkWareMessageBus D:\Source\LinkWareMessageBus\nng.lib(win_resolv.c.obj) 1
Error LNK2019 unresolved external symbol __imp_freeaddrinfo referenced in function resolv_task LinkWareMessageBus D:\Source\LinkWareMessageBus\nng.lib(win_resolv.c.obj) 1
Error LNK2019 unresolved external symbol __imp_accept referenced in function nni_plat_pipe_open LinkWareMessageBus D:\Source\LinkWareMessageBus\nng.lib(win_pipe.c.obj) 1
Error LNK2019 unresolved external symbol __imp_connect referenced in function nni_plat_pipe_open LinkWareMessageBus D:\Source\LinkWareMessageBus\nng.lib(win_pipe.c.obj) 1
Error LNK2019 unresolved external symbol __imp_ioctlsocket referenced in function nni_plat_pipe_open LinkWareMessageBus D:\Source\LinkWareMessageBus\nng.lib(win_pipe.c.obj) 1
Error LNK2019 unresolved external symbol __imp_htonl referenced in function nni_plat_pipe_open LinkWareMessageBus D:\Source\LinkWareMessageBus\nng.lib(win_pipe.c.obj) 1
Error LNK2019 unresolved external symbol __imp_recv referenced in function nni_plat_pipe_clear LinkWareMessageBus D:\Source\LinkWareMessageBus\nng.lib(win_pipe.c.obj) 1
Error LNK2019 unresolved external symbol __imp_send referenced in function nni_plat_pipe_raise LinkWareMessageBus D:\Source\LinkWareMessageBus\nng.lib(win_pipe.c.obj) 1
Error LNK1120 24 unresolved externals LinkWareMessageBus D:\Source\LinkWareMessageBus\x64\Debug\LinkWareMessageBus.exe 1