2011-11-21 28 views
1

[更新]因爲我已經成功地編譯和其他人追逐這些二進制文件可以通過從發出以下命令從here編譯lzo.dll的64位版本

我編譯版本2.06 of lzo下載Visual Studio命令提示符(2010)

b\win64\vc_dll.bat 

產生lzo2.dll沒有任何錯誤,但是這並不像它確實產生了64位的DLL作爲我的32位C#應用程序仍然可以參考和調用方法(成功)

如何編譯64位版本?

一些在這個問題上的意見,可能會過時,因爲改變這個問題,但我因爲改回了原來的問題時,有更多的參與,所以我可以標記響應作爲回答

+0

「隱式依賴模塊」我相信表示lzo2.dll依賴於某些x.dll,其中x.dll被延遲加載或使用LoadLibrary()加載。也就是說,它不會顯示在depends.exe找到的依賴項的靜態/顯式列表中。 (但你應該摺疊DLL的列表,所以我們有更多的信息從你的屏幕截圖)可能是錯誤的,但要記住的東西。 lzo2.dll是否需要像zlib.dll一樣安裝它? – totowtwo

+0

@totowtwo截圖更新,lzo沒有任何第三方依賴關係 – wal

回答

1

幾乎可以肯定你將使用錯誤的編譯器集合; 64位編譯不受命令行標誌控制 - 它是完全不同的工具集;

從「開始」菜單\程序\ Microsoft Visual Studio 2010 \ Visual Studio工具中找到的「Visual Studio x64 Win64命令提示符(2010)」發出生成命令。

例如

c:\> cd /d h:\temp\lzo-2.06 
H:\temp\lzo-2.06> b\win64\vc_dll.bat 
+0

謝謝,已經重新編譯,現在我得到一個不同的錯誤,請參閱更新的問題。 – wal

+0

聽起來像那裏混合的依賴關係 - 我會刪除整個lzo目錄樹並從發行版重新安裝。 FWIW我剛剛建好了。 –

+0

好的建議。我再次下載和運行命令如上,仍然依賴沃克未能打開它,我也嘗試從C#,同樣的錯誤。你能在DW中打開嗎?當你說'我已經建好了' - 它對我來說也很好(沒有明顯的錯誤),我不能在任何地方使用它! RU在WIN7,X64與VS2010? – wal