2009-07-22 105 views
4

我的第一個問題在這裏:在Visual Studio 2008 Express中鏈接libcURL

我在使用libcURL在C++項目中遇到問題。我甚至沒有把它聯繫起來。我正在使用Windows XP和Visual C++ 2008 Express Edition。

因此,這裏是我做過什麼:

  1. 下載的libcurl:curl-7.19.5-devel-mingw32.zip
  2. 開闢了新的命令行的VC++項目
  3. 包含的文件夾 'LIB' 和「包括'我的新項目(也許微不足道,但花了我一會兒;-)
  4. 在屬性 - > C/C++ - >常規:添加文件夾'包括'到'包含的其他文件夾'
  5. in Properties->鏈接器 - >常規:將文件夾'lib'添加到'添加文件夾中的文件夾'
  6. 屬性 - >連接器 - >輸入:添加其他依賴項:libcurl.a libcrypto.a libeay32.a libidn.a libssh2.a libssh2dll.a libssl32.a libssl.a libz.a libzdll。一個WS2_32.LIB wldap32.lib在屬性 - > C/C++
  7. - >預處理:加入定義 '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++初學者,所以它可能是一個瑣事... Thx的幫助!

回答

6

您正在使用MinGW庫與Visual C++編譯器。使用正確的二進制包和/或自己構建。

如果您使用的是Visual C++,則不應該使用.lib處理.a文件。

+0

你可以提供一個說明如何設置這些,一旦你有他們? – 2010-09-01 19:44:46