2009-07-22 106 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