Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何链接和编译库?(C+;+;)_C++_Compilation_Linker_Codeblocks - Fatal编程技术网

C++ 如何链接和编译库?(C+;+;)

C++ 如何链接和编译库?(C+;+;),c++,compilation,linker,codeblocks,C++,Compilation,Linker,Codeblocks,我正在使用IDE代码块,并希望在代码中使用名为Chilkat的第三方库。我可以让编译器读取头,但当我试图使用库中的某个方法或对象时,代码不会编译 守则: #include <iostream> #include <CkSpider.h> using namespace std; int main(){ CkSpider m; m.Initialize("www.chilkatsoft.com"); cout<<&

我正在使用IDE代码块,并希望在代码中使用名为Chilkat的第三方库。我可以让编译器读取头,但当我试图使用库中的某个方法或对象时,代码不会编译

守则:

#include <iostream>
#include <CkSpider.h>

using namespace std;

int main(){
    CkSpider m;
    m.Initialize("www.chilkatsoft.com");
    cout<<"Works"<<endl;
return 0;
}
除此之外,还有一些关于如何在库网页()上链接和编译库的说明,但我不知道在哪里或如何使用这些参数:

链接时可能需要-Wl、-enable自动导入选项。另外,链接libcrypt32.a、libws2_32.a和libdnsapi.a,如下所示:

如何以及在何处使用这些参数,以便在代码块上链接和编译此库

PS:很抱歉出现任何英文错误

问题是链接错误,而不是“编译”错误。您的代码编译得很好-链接器就是找不到一个依赖库


问题不在于“chilkat”本身。依赖项是“WSAStartup”、“getsockopt”和“setsockopt”。这些在Microsoft库中。您需要在build命令中包含
-l ws2_32

我所做的就是单击IDE的build按钮。如何将这些参数包括到构建中?Q:如何将这些参数包括到构建中?答:你需要学习如何使用代码块!例如:
Project->buildoptions->
设置上面引用的选项:
g++-Wl,--enable auto import linkSample.cpp-o“linkSample.exe”-L.-lchilkat-9.5.0-L/MinGW/lib-lcrypt32-lws2_32-ldnsapi
。我假设您已经安装了crypt32、ws2_32和dnsapi的g++、“MinGW/lib”目录和库文件。如果没有,请阅读CodeBlocks文档:Q:您是否找到了相应的CodeBlocks文档(),以及您是否能够配置构建命令?问:您是否拥有所需的所有依赖库(crypt32、ws2_32、dnsapi…和chilkat)?本教程可能也有帮助:文档是否有帮助?您是否成功配置了生成命令?您是否拥有所有必需的从属库?您是否能够生成(编译、链接和运行)您的.exe?请更新你的帖子。
..\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'|
g++ -Wl,--enable-auto-import linkSample.cpp -o"linkSample.exe" -L. -lchilkat-9.5.0
    -L/MinGW/lib -lcrypt32 -lws2_32 -ldnsapi