在win32控制台项目VS2015中静态链接libcurl的问题

时间:2017-01-30 11:28:10

标签: c++ visual-studio-2015 libcurl static-linking

我有一些关于在Visual Studio 2015中将libcurl静态链接到我的Win32控制台项目的问题。我一直在努力解决这个问题4-5个小时,我无法理解。我希望有人可以帮我解释我做错了什么。

我这样做了

使用" LIB RELEASE"编译libcurl.lib (x64)配置。然后我将include头文件库和库移动到我自己的win32控制台项目(x64)并按如下方式设置:

VC++ => Include directories -> $(SolutionDir)includes (contains curl headers)
     => Library directories -> $(SolutionDir)libraries (contains libcurl.lib)
Linker => Additional Library Directories -> $(SolutionDir)libraries
       => Input -> libcurl.lib  

当我不使用任何curl函数时,我可以正常编译,但是当我在自己的源代码中调用curl_easy_init()并编译时,它会给我以下错误:

Severity    Code    Description Project File    Line    Suppression State
Error   LNK2019 unresolved external symbol __imp_curl_easy_cleanup referenced in function "void __cdecl ee(void)" (?ee@@YAXXZ)  Console C:\Users\Ik\Documents\Visual Studio 2015\Projects\SDK4\Console\Console.obj  1   
Error   LNK2019 unresolved external symbol __imp_curl_easy_init referenced in function "void __cdecl ee(void)" (?ee@@YAXXZ) Console C:\Users\Ik\Documents\Visual Studio 2015\Projects\SDK4\Console\Console.obj  1

我期待以下

我期望curl包在我的项目中静态链接,我可以正确使用卷发函数。

curl / libcurl version

卷曲7.52.1

操作系统

Microsoft Windows [版本10.0.14393]

1 个答案:

答案 0 :(得分:0)

在你静态链接libcurl的项目中,尝试添加这个定义:CURL_STATICLIB

这决定了如何在curl / curl.h中解析导入/导出宏