在Visual Studio 2008 Express中链接libcURL

时间:2009-07-22 12:13:39

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

我的第一个问题:

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

所以这就是我所做的:

  1. 已下载的libcURL:curl-7.19.5-devel-mingw32.zip
  2. 在VC ++中打开新的命令行项目
  3. 在我的新项目中包含文件夹'lib'和'include'(可能是微不足道的但是花了我一段时间; - )
  4. in Properties-> C / C ++ - > General:已将“include”文件夹添加到“要包含的其他文件夹”
  5. in Properties-> Linker-> General:将文件夹'lib'添加到'带库的其他文件夹'
  6. in Properties-> Linker->输入:添加了其他依赖项: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. in Properties-> C / C ++ - >预处理器:添加定义'CURL_STATICLIB'
  8. 我取消选中'预编译标题'并确保使用'Multithreaded-DLL(/ MD)'
  9. 现在我将示例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 ++初学者,所以它可能是一种琐事...... 谢谢你的帮助!

1 个答案:

答案 0 :(得分:6)

您正在将MinGW库与Visual C ++编译器一起使用。使用正确的二进制包和/或自己构建它。

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