簡體   English   中英

如何從運行VS2008 Pro的x86平台編譯為x64二進制文件?

[英]How do I compile to x64 binary from a x86 platform running VS2008 Pro?

我正在嘗試為x64平台編譯我的應用程序(使用第三方庫)。 但是,從我的VS2008 Pro中從Build Configuration Manager中選擇x64似乎不起作用。 二進制文件確實已創建,但我的客戶端無法讓它在x64上運行。

我想知道第三方DLL是否可能是原因。 有人對此有任何想法嗎?

你有第三方庫的x64版本嗎? 如果沒有,你就不走運了。 進程必須完全是x86或x64,不能混合和匹配庫。 如果庫是DLL,那么您仍然需要來自x64構建的導出庫。

在VS中選擇x64配置的方式不起作用?

更新:如果您的應用程序是.NET和體系結構中立,那么它將在64位操作系統上以64位加載。 但是,如果它依賴於32位DLL,那么這將在運行時失敗。 您可以使用corflags實用程序強制您的exe始終加載32位。

正如Rob Walker所說。 您可以在x64機器上使用SysInternals的“depends”程序找到更多信息。

管理以查明問題的根源。 它是源代碼混淆工具(Intellilock 1.1.0.4)中的設置(加密IL代碼)之一,它使二進制文件無法在x64環境中運行。

禁用此設置可解決此問題。

“從我的VS2008 Pro中從Build Configuration Manager中選擇x64似乎不起作用”
我不確定為什么你會得到二進制文件,但要記住默認情況下沒有安裝x64工具。 返回並重新運行VC2008安裝程序,執行自定義安裝,並在樹的VC ++位下,確保選中64位編譯器的復選框。 如果不是,請檢查並運行安裝。 然后嘗試你的構建。

您確實需要第三方dll的64位版本,並且您需要將所有包含和庫路徑正確並且輸出文件夾直接,但安裝工具是第一步。

我的應用程序沒有安裝程序。 我將它作為“便攜式應用程序”創建,並以.NET2.0作為先決條件。

我已向供應商發布了相同的請求。 如果他們有x64位,仍在等待他們恢復。

與此同時,我正在購買x64 Vista的副本以親自測試它。 我不能犧牲我的用戶來為我測試這個。 一旦有了新的更新,我會保留這個帖子。

謝謝。

暫無
暫無

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

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