【问题标题】:Issues statically linking libcurl in win32 console project VS2015在 win32 控制台项目 VS2015 中静态链接 libcurl 的问题
【发布时间】:2017-01-30 11:28:09
【问题描述】:

我在 Visual Studio 2015 中将 libcurl 静态链接到我的 Win32 控制台项目时遇到了一些问题。我已经为这个问题苦苦挣扎了 4-5 个小时,但我无法弄清楚。我希望有人能帮我解释我做错了什么。

我做了这个

使用“LIB RELEASE”(x64) 配置编译 libcurl.lib。然后我将包含头文件和库移动到我自己的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 包在我的项目中是静态链接的,我可以正确使用 curls 函数。

curl/libcurl 版本

curl-7.52.1

操作系统

Microsoft Windows [版本 10.0.14393]

【问题讨论】:

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


【解决方案1】:

在您静态链接 libcurl 的项目中,尝试添加以下定义:CURL_STATICLIB

这控制如何在 curl/curl.h 中解析导入/导出宏

【讨论】:

    猜你喜欢
    • 2011-11-14
    • 2015-04-27
    • 2011-06-11
    • 1970-01-01
    • 1970-01-01
    • 2011-10-23
    • 1970-01-01
    • 2011-11-08
    • 1970-01-01
    相关资源
    最近更新 更多