【问题标题】:Linking libcURL in Visual Studio 2008 Express在 Visual Studio 2008 Express 中链接 libcURL
【发布时间】:2010-11-12 23:38:42
【问题描述】:

我的第一个问题:

我在 c++ 项目中使用 libcURL 时遇到问题。我什至没有把它联系起来。我使用的是 Windows XP 和 Visual C++ 2008 Express Edition。

这就是我所做的:

  1. 下载的 libcURL:curl-7.19.5-devel-mingw32.zip
  2. 在 VC++ 中打开了新的命令行项目
  3. 将文件夹 'lib' 和 'include' 包含到我的新项目中(可能微不足道,但花了我一段时间 ;-)
  4. 在属性->C/C++->常规中:将文件夹“包含”添加到“要包含的其他文件夹”中
  5. 在“属性”->“链接器”->“常规”中:将文件夹“lib”添加到“带有库的其他文件夹”中
  6. 在属性->链接器->输入中:添加了附加依赖项:libcurl.a libcrypto.a libeay32.a libidn.a libssh2.a libssh2dll.a libssl32.a libssl.a libz.a libzdll.a ws2_32.lib wldap32 .lib
  7. 在属性->C/C++->预处理器中:添加定义'CURL_STATICLIB'
  8. 我取消选中“预编译头文件”并确保使用了“多线程 DLL (/MD)”

现在我将示例 simple.c(来自 http://curl.haxx.se/lxr/source/docs/examples/simple.c)复制到我的主项目文件中。当我尝试编译时,我得到以下输出:

Neues Erstellen gestartet: Projekt: curl_project, Konfiguration: Debug Win32
Die Zwischen- und Ausgabedateien für das Projekt "curl_project" mit der Konfiguration "Debug|Win32" werden gelöscht.
Kompilieren...
stdafx.cpp
Kompilieren...
curl_project.cpp
Manifest in Ressourcen wird kompiliert...
Microsoft (R) Windows (R) Resource Compiler Version 6.1.6723.1
Copyright (C) Microsoft Corporation.  All rights reserved.
Verknüpfen...
libcurl.a(ftp.o) : error LNK2001: Nicht aufgelöstes externes Symbol "_strtoll".
libcurl.a(file.o) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_strtoll" in Funktion "_file_do".
libcurl.a(cookie.o) : error LNK2001: Nicht aufgelöstes externes Symbol "_strtoll".
libcurl.a(transfer.o) : error LNK2001: Nicht aufgelöstes externes Symbol "_strtoll".
libcurl.a(ssh.o) : error LNK2001: Nicht aufgelöstes externes Symbol "_strtoll".
libcurl.a(http.o) : error LNK2001: Nicht aufgelöstes externes Symbol "_strtoll".
libcurl.a(mprintf.o) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "___umoddi3" in Funktion "_dprintf_formatf".
libcrypto.a(b_print.o) : error LNK2001: Nicht aufgelöstes externes Symbol "___umoddi3".
libcrypto.a(bn_word.o) : error LNK2001: Nicht aufgelöstes externes Symbol "___umoddi3".
libcurl.a(mprintf.o) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "___udivdi3" in Funktion "_dprintf_formatf".
libcrypto.a(b_print.o) : error LNK2001: Nicht aufgelöstes externes Symbol "___udivdi3".
libcrypto.a(e_atalla.o) : error LNK2001: Nicht aufgelöstes externes Symbol "__alloca".
libcrypto.a(eng_padlock.o) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__alloca" in Funktion "_ENGINE_load_padlock".
libcrypto.a(sha512.o) : error LNK2001: Nicht aufgelöstes externes Symbol "__alloca".
libcrypto.a(bn_prime.o) : error LNK2001: Nicht aufgelöstes externes Symbol "__alloca".
libcurl.a(mprintf.o) : error LNK2001: Nicht aufgelöstes externes Symbol "__alloca".
libcurl.a(formdata.o) : error LNK2001: Nicht aufgelöstes externes Symbol "__alloca".
libcrypto.a(err_prn.o) : error LNK2001: Nicht aufgelöstes externes Symbol "__alloca".
libcrypto.a(cryptlib.o) : error LNK2001: Nicht aufgelöstes externes Symbol "__alloca".
libcurl.a(progress.o) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "___divdi3" in Funktion "_time2str".
libssh2.a(scp.o) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_snprintf" in Funktion "_libssh2_scp_send_ex".
C:\Dokumente und Einstellungen\Punkx\Eigene Dateien\Visual Studio 2008\Projects\curl_project\Debug\curl_project.exe : fatal error LNK1120: 6 nicht aufgelöste externe Verweise.
Das Buildprotokoll wurde unter "file://c:\Dokumente und Einstellungen\Punkx\Eigene Dateien\Visual Studio 2008\Projects\curl_project\curl_project\Debug\BuildLog.htm" gespeichert.
curl_project - 22 Fehler, 0 Warnung(en)
========== Alles neu erstellen: 0 erfolgreich, Fehler bei 1, 0 übersprungen ==========

谁能看到我忘记了什么或问题出在哪里?我是 C++ 初学者,所以它可能是一些琐碎的事情...... 谢谢帮忙!

【问题讨论】:

    标签: c++ visual-c++ libcurl


    【解决方案1】:

    您正在使用带有 Visual C++ 编译器的 MinGW 库。使用正确的二进制包和/或自己构建。

    如果您使用的是 Visual C++,则不应处理 .a 文件,而应仅处理 .lib。

    【讨论】:

    • 您能否描述一下如何设置它们?
    猜你喜欢
    • 1970-01-01
    • 2013-09-07
    • 1970-01-01
    • 2013-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-04
    • 1970-01-01
    相关资源
    最近更新 更多