我在这里的第一个问题:
我在 c++ 项目中使用 libcURL 时遇到问题。我什至没有把它联系起来。我正在使用 Windows XP 和 Visual C++ 2008 Express Edition。
所以这就是我所做的:
- 下载的 libcURL:curl-7.19.5-devel-mingw32.zip
- 在 VC++ 中打开新的命令行项目
- 将文件夹 'lib' 和 'include' 包含到我的新项目中(可能微不足道,但花了我一段时间 ;-)
- 在 Properties->C/C++->General: 将文件夹 'include' 添加到 'additional folder to include'
- 在属性->链接器->常规中:将文件夹“lib”添加到“带有库的其他文件夹”中
- 在属性->链接器->输入中:添加了附加依赖项: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
- 在属性->C/C++->预处理器中:添加定义'CURL_STATICLIB'
- 我取消选中“预编译头文件”并确保使用了“多线程 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++ 初学者,所以这可能是一些琐碎的事情......谢谢你的帮助!