【发布时间】:2020-12-14 02:16:09
【问题描述】:
我正在使用 IDE CodeBlocks,并希望在我的代码中使用名为 Chilkat 的第三方库。我可以让编译器读取头文件,但是当我尝试使用库中的某些方法或对象时,代码无法编译。
代码:
#include <iostream>
#include <CkSpider.h>
using namespace std;
int main(){
CkSpider m;
m.Initialize("www.chilkatsoft.com");
cout<<"Works"<<endl;
return 0;
}
所有错误都是这样的:
..\libchilkat-9.5.0.a(ChilkatSocket.o):ChilkatSocket.cpp|| undefined reference to `__imp_WSAStartup'|
..\libchilkat-9.5.0.a(ChilkatSocket.o):ChilkatSocket.cpp|| undefined reference to `__imp_getsockopt'|
..\libchilkat-9.5.0.a(ChilkatSocket.o):ChilkatSocket.cpp|| undefined reference to `__imp_setsockopt'|
除此之外,在库网页(https://www.chilkatsoft.com/downloads_mingw.asp#getStarted)上有一些关于如何链接和编译库的说明,但我不知道在哪里或如何使用这些参数:
链接时可能需要 -Wl,--enable-auto-import 选项。另外,链接 libcrypt32.a、libws2_32.a 和 libdnsapi.a,如下所示:
g++ -Wl,--enable-auto-import linkSample.cpp -o"linkSample.exe" -L. -lchilkat-9.5.0
-L/MinGW/lib -lcrypt32 -lws2_32 -ldnsapi
我如何以及在何处使用这些参数,以便在 CodeBlocks 上链接和编译这个库?
PS: 如有英文错误,请见谅
【问题讨论】:
-
问:您是否找到了相应的 CodeBlocks 文档 (wiki.codeblocks.org),并且您是否能够配置您的构建命令?问:您是否拥有所有需要的依赖库(crypt32、ws2_32、dnsapi ... 和 chilkat)?本教程也可能有所帮助:learncpp.com/cpp-tutorial/a3-using-libraries-with-codeblocks
-
文档有帮助吗?您是否成功配置了构建命令?你有所有必需的依赖库吗?您是否能够构建(编译、链接和运行)您的 .exe?请更新您的帖子。
标签: c++ compilation linker codeblocks