在32位WINDOWS系統上開發64位應用程式
建立 2011-9-2
有些時候需要開發WINDOWS 64位應用程式,但不想安裝64位作業系統,所以需要在32位系統下開發64位應用。其步驟並不複雜。
以WINDOWS XP 32位系統和Visual Studio 2008為例,首先保證安裝時選擇了Visual C++下的x64編譯器和工具。
安裝完成後,在程式中Visual Studio 2008\VISUAL STUDIO TOOLS下執行Visual Studio 2008 x64 相容工具命令提示,之後有兩種選擇
一,在命令列中使用cl (link)命令進行編譯 , cl一般會自動調用link,例如
cl First64Test.cpp /EHsc
根據自己的需要選擇必要的標頭檔和庫檔案,具體選項參考cl的協助。最後編譯產生64位exe,拷貝到64位作業系統的目標電腦運行。
二,在整合式開發環境中(IDE)構建
在命令列啟動IDE, 加上啟動參數/useenv,如devenv /useenv。第一次啟動會建立x64解決方案平台,以後可以直接在圖形介面啟動
建立新的項目,在菜單“產生”下選擇“組態管理員”。在活動解決方案平台下拉式清單中,選擇建立->x64,在項目平台下拉式清單中選擇建立->x64,也可以先選擇項目平台,然後選上建立解決方案單選框。
添加原始碼檔案等,配置必要的標頭檔和庫檔案,並為64位做以下配置
1、 點擊菜單"項目"\"屬性",開啟"組態管理員" \"C++" \"常規",確定"檢測64為可移植性問題"為"是(/Wp64)",以保證編譯器檢查工程的64位可移植性問題。
2、 在"連結器" \"進階",把"目標電腦"改為"未設定";接下來點擊左邊的"命令列",在"附加選項"中加入"/MACHINE:AMD64"。
3、 編譯產生64位exe,
4、 拷貝應用程式到64位作業系統的目標電腦運行。由於IDE編譯出來的程式檔案,採用了manifest方式來指定dll檔案。因此如果是動態連結執行階段程式庫,需要拷貝應用程式庫檔案和Microsoft Visual Studio 9.0\VC\redist\amd64\Microsoft.VC90.CRT\Microsoft.VC90.CRT.manifest及其下的動態庫到目標機器;否則修改編譯選項,將/MD或/MDd 改為 /MT或/MTd,這樣就實現了對VC執行階段程式庫的靜態連結,在運行時就不再需要VC的dll了。