Joh*_*Ace 5 c++ visual-studio-2010
我想使用oscpack(http://code.google.com/p/oscpack/)作为我项目的静态库,但是当我尝试将其添加到示例中时,我会收到链接错误,例如:
1> oscpackd.lib(UdpSocket.obj):错误LNK2019:未解析的外部符号__imp__socket @ 12在函数"public:__thiscall UdpSocket :: Implementation :: Implementation(void)"中引用(?? 0Implementation @ UdpSocket @@ QAE @XZ)
1> oscpackd.lib(UdpSocket.obj):错误LNK2019:未解析的外部符号__imp__closesocket @ 4在函数"public:__thiscall UdpSocket :: Implementation :: ~Installation(void)"中引用(?? 1Implementation @ UdpSocket @@ QAE @ XZ )
...
基本上,我创建了一个用于构建oscpack.lib的解决方案,在项目中我添加了相应的.h和.cpp文件.
然后在示例解决方案中,我添加了我的main.cpp然后我包含了(属性> C/C++>其他包含目录)oscpack库的文件夹,然后在链接器选项卡上我添加了libs的文件夹位置和名称的库.
Han*_*ant 10
在Solution Explorer窗口中右键单击您的项目,然后单击Properties> Linker> Input> Additional Dependencies设置.你必须添加ws2_32.lib.
VS项目模板负责告诉链接器链接最常见的Windows库.像kernel32.lib一样,如果没有它,你就无法编写Windows程序.但不是winsock,并不是每个程序都想要创建套接字.必须明确添加.
您可以从MSDN文章中找到这类依赖关系,比如closesocket().它位于文章的最底部.在头位告诉你,你需要什么#包括,你说对了.该库位告诉你,你需要告诉链接链接的内容.不是自动的,你必须自己照顾它.