簡體   English   中英

使用Visual Studio 2013進行cURL

[英]cURL with Visual Studio 2013

所以我和cURL一起作為一個非常好的庫而且在OSX中運行得非常好。 但是現在在Windows上我已經為這個庫做好了准備。 我現在用Google搜索了大約2天,並嘗試了十幾種(詳細的)不同的方法來做好准備。 沒有任何成功。

以下是我基本上嘗試過的一些方法:

  1. 直接下載 :這里的問題已經從正確的下載開始。 官方下載頁面相當令人困惑,所以我認為這個“cURL下載向導”>“libcurl開發”給了我一個版本,我應該能夠包含在任何項目中。 但究竟要包括它呢? 在任何指示中,它引導我到我甚至沒有的目錄。 幾乎總是提到這個“curllib.lib”。 我在該下載頁面上下載了大約6個不同的版本,其中沒有一個版本存在此文件。 (參見例如說明)
  2. Git + CMake :作為上述鏈接的解決方案,建議在此使用git clone。 我在那里做了所有的指示,並且只用警告生成了Project。 但這里也說:
    構建安裝目標后,您將在C:\\ curl.vc12中找到bin / include / lib文件夾
    好吧,我沒有真正得到他的“構建安裝目標”,我只是構建整個項目地圖。 編譯正常(115成功,0失敗,2跳過)。 但現在C:\\ curl.vc12不在那里。 在編譯之前我需要預先設置什么?
  3. NuGet :這個想法再次來自第(1)點的鏈接,與NuGet的不同解決方案。
    Successfully added 'curl 7.30.0.2' to test. 它看起來也不錯,但編譯simple.c會導致一堆unresolved external symbol鏈接器錯誤。 但是提供了一個解決方案:
    確保在項目屬性中的Visual C ++目錄下指定了include目錄和lib目錄。
    所以在Project > Properties > VC++ Properties > "Include Directories"
    Project > Properties > VC++ Properties > "Library Directories"
    以及在Project > C/C++ > General > "Additional Include Directories"Project > Linker > General > "Additional Library Directories"我拼命地從我的項目文件夾中添加了\\ packages \\ path。
    如說明書中所述,我添加了libcurl.lib;libeay32.lib;ssleay32.lib;Ws2_32.lib;libssh2.lib;zlib.lib;wldap32.lib; Project > Linker > Input > "Additional Dependencies"
    所有這一切, unresolved external symbol錯誤都消失了! 因此我只得到一個錯誤,說cannot open file 'libcurl.lib' 我能在這做什么?

我對這一切都很陌生。 但是我現在正在努力讓這個最終發揮作用。 那我該怎么辦?
我使用Visual Studio 2013社區版。 目前最新版本的cURL是7.42.1 非常歡迎任何幫助!

我自己有問題,現在終於搞定了。 我從官方網站上下載了curl-7.42.1.zip 在存檔中,您將找到源代碼和winbuild / BUILD.WINDOWS.txt,它基本上包含我遵循的說明。 我假設它已被解壓縮到C:\\ curl-7.42.1。

打開位於的Visual Studio命令提示符

C:\\ Program Files(x86)\\ Microsoft Visual Studio 12.0 \\ Common7 \\ Tools \\ Shortcuts

這會自動設置使用Visual Studio工具(如編譯器)所需的環境變量。 然后轉到winbuild目錄並調用

nmake / f Makefile.vc mode = dll

如上面提到的文本文件中所述。

那將創建目錄

C:\\卷曲-7.42.1 \\建立\\ libcurl中,VC-x86的版本的DLL-IPv6的SSPI-winssl

包含libcurl.dll,libcurl.lib和必要的頭文件。 讓它重命名為C:\\curl-7.42.1\\builds\\release :'D

  1. 然后打開你的項目。
  2. 打開項目的屬性。
  3. 確保選擇Release as configuration(左上角)!
  4. 導航到VC++ Directories > Include directories然后添加C:\\curl-7.42.1\\builds\\release\\include
  5. C:\\curl-7.42.1\\builds\\release\\libVC++ Directories > Library directories
  6. 轉到Linker > Input > Additional Dependencies並添加libcurl.lib
  7. 最后將C:\\curl-7.42.1\\builds\\release\\bin\\libcurl.dll復制到項目文件夾中。

這應該夠了吧! :D如果你想在調試模式下使用cURL,你可以做幾乎相同,使用nmake /f Makefile.vc mode=dll debug=yes重新編譯nmake /f Makefile.vc mode=dll debug=yes ,轉到項目的屬性,添加新創建的目錄路徑(更改libcurl。 lib到libcurl_debug.lib)你應該完成。

我遇到過同樣的問題。 我從https://github.com/curl/curl下載了curl。 您可以使用Visual Studio 2013直接編譯它(但請注意參數設置:x64 with release)。 主要區別在於它為您提供了libcurl_imp.lib。 然后,您所要做的就是如上所述設置環境變量。 只是想提一下,你將不得不在其他依賴項中使用libcurl_imp.lib而不是libcurl.lib(我懷疑這個更改是因為curl的新版本)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM