2017-02-05 28 views
-1

這個問題是關於64位機器的捲曲庫構建。 在谷歌搜索了很多,但面臨一些錯誤。無法爲x64位機器建立CURL庫(C++)的DLL

以下是迄今爲止所做的工作。

- >從下面的鏈接下載CURL來源。 https://curl.haxx.se/download/curl-7.52.1.zip

- >將壓縮文件解壓縮到curl-7.52.1目錄。 從開始 - >程序文件 - > Microsoft Visual Studio 2008打開「Visual Studio 2008命令提示符」

- >運行下面的命令來更改捲曲下載的目錄。

$(WorkDir)\curl-7.52.1\winbuild> 

- >運行下面的命令來建立捲曲庫。

nmake /f Makefile.vc mode=dll machine=x64 

- >生成命令後,得到了下面的錯誤:

..\builds\libcurl-vc-x64-release-dll-ipv6-sspi-winssl-obj-lib/file.obj : fatal e 
rror LNK1112: module machine type 'X86' conflicts with target machine type 'x64' 

NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 9.0\ 
VC\BIN\amd64\link.exe"' : return code '0x458' 
Stop. 
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 9.0\ 
VC\BIN\amd64\nmake.exe"' : return code '0x2' 
Stop. 

無法找到上述錯誤合適的解決方案。

如果有人能夠幫助解決錯誤,我們將非常感激。

在此先感謝。

+0

如果我的回答不起作用,請寫出能幫助別人的答案。如果我的答案有效,請選擇合適的答案。 –

回答

0

在Visual Studio中,您必須設置環境變量才能獲取x86或x64編譯器。有多種方法來設置這些環境變量:

  1. 你必須找到批處理文件vcvarsall.bat,並用它來導入正確的環境變量

  2. 你必須找到啓動命令的快捷鍵提示使用64位命令提示符工具。以下是從my blog截圖說明這一點:

enter image description here

所以,你必須找到快捷方式或learn how to use vcvarsall.bat。那裏有很多關於它的教程。

要記住的一件重要事情是,在Visual Studio 2012之前,64位在Visual Studio Express中不可用,因此除非擁有Visual Studio 2008 Professional,否則這是不可能的。

希望這會有所幫助。

+0

感謝您的詳細解答。我根據你的建議嘗試過。 從開始菜單打開「Visual Studio 2008 x64 Win64命令提示符」命令提示符並從「C:\ Program Files(x86)\ Microsoft Visual Studio 9.0 \ VC \」目錄下運行命令: 'vcvarsall.bat x64' 從「curl-7.52.1 \ winbuild」目錄下面: 'nmake/f Makefile.vc mode = dll machine = x64' 但是仍然得到相同的錯誤。 – gsmaker

+0

@gsmaker我可以看到你正在鏈接到一些ssl庫。這是用64位編譯器編譯的嗎?請注意,二進制兼容性是必需的,這意味着您鏈接的所有內容都是64位的。 –

+0

@gsmaker那麼?它有用嗎? –