我在 Windows 上使用 Visual Studio 2012 时遇到了 C++ cUrl 库的问题。
我有一个生成 .cgi 文件的CGI项目。该项目包括另一个名为Library 的项目,它是一个静态库项目。
在库项目中,我有使用 cUrl 并包含curl/curl.h. 我参考了Preprocessor Definition CURL_STATICLIB。
然后在我的CGI 项目中,我libcurl.lib在Configuration Properties > Linker > Additional Dependencies 中链接到我的项目。
但是当我尝试构建解决方案时,我仍然有这些错误:
error LNK2001: unresolved external symbol _curl_easy_setopt in Library.lib(fct_util.obj)
error LNK2001: unresolved external symbol _curl_easy_perform in Library.lib(fct_util.obj)
error LNK2001: unresolved external symbol _curl_easy_init in Library.lib(fct_util.obj)
error LNK2001: unresolved external symbol _curl_easy_cleanup in Library.lib(fct_util.obj) …Run Code Online (Sandbox Code Playgroud) c++ curl unresolved-external visual-studio visual-studio-2012
我只是从C ++开始,无法弄清楚如何添加库,尤其是libcurl。我尝试了一堆教程,但是大多数教程是针对2013/10的,或者没有用。谁能解释(最好用标准/非技术英语)我如何添加库?我已经尝试在程序的include部分和其他依赖项菜单中添加它。
请注意,这是我在3天前提出的几乎相同的问题,但没有收到任何回复。不知道这是否是因为它很简单,我应该自己弄清楚它,还是因为它被淹没在大量问题中,或者其他原因。无论如何,对于重新发布感到抱歉。
我在 x64 Native Tools 命令提示符 Visual Studio 中使用此命令从源代码构建了 CURL 静态库
nmake /f Makefile.vc 模式=静态机器=AMD64
我将 lib 文件夹添加到链接器库文件夹,将 libcurl_a.lib 添加到链接器输入,并将 include 文件夹添加到其他包含目录。我还使用了预处理器定义 CURL_STATICLIB。
库链接成功并找到标头。但是当我尝试编译时,我得到 60 个未解析的外部符号。https://hastebin.com/vukekakoti.tex
动态链接工作没有问题。
我该如何解决这个问题?