設置64位創(chuàng)建環(huán)境變量, 用下面任何一種方式都行:
方式一: 點擊”開始”菜單, 指向 “Microsoft Platform SDK” > “Open Build Environment Windows” > “Set Windows XP 64 Build Environment”, 然后點擊”Set Windows XP 64 Build Environment (Debug)”, 這時, 一個控制臺窗口將顯示, 一行文本顯示像” the build environment set for a 64-bit”. 方式二: 在命令提示符下, 1. 點擊”開始”菜單, 然后點擊”運行” 2. 鍵入”command.exe”(沒有引號), 然后, 點擊”確定” 3. 變化當前目錄到C:\Program Files\Microsoft SDK(你的SDK安裝目錄), 然后鍵入”SetEnv.bat /XP64”(沒有引號) 現(xiàn)在, 開始啟動Visual C++ 6.0并用我們剛才配置好的創(chuàng)建環(huán)境 1. 在同一個命令窗口中(也就是你剛才設置64位環(huán)境的命令行窗口), 打開Visual Studio. 2. 鍵入 “Msdev /useenv”(沒有引號). 請注意, 不要打開一個新的命令行窗口, 再去打開Msdev.exe, 現(xiàn)在Visual C++ 6.0 IDE已經顯示, 并且include, library及executable目錄均被設置為64位的創(chuàng)建環(huán)境(注:查看這些配置, 點擊Tools > Options > Directories, 在”Show directories for: “下拉列表中查看相應目錄配置). 另外, 如果Msdev.exe不在當前路徑下(通常是系統(tǒng)環(huán)境變量沒有相應指示), 變化目錄到你所安裝Visual Studio的目錄下, 例如: \Microsoft Visual Studio\Common\Msdev98\Bin, 然后, 再鍵入Msdev.exe. 譯注: 在前面的設置64位創(chuàng)建環(huán)境變量 , 已經將IDE的executable執(zhí)行目錄調整到SDK的相應目錄下面, 也就是說, 作為可執(zhí)行程序: 編譯器和鏈接器是在SDK目錄中, 而不再是默認的\Microsoft Visual Studio\Common\Msdev98\Bin 添加一個64位Debug配置 1. 在Visual C++ IDE中, 打開一個已經在的32位工程(例如: MyApplication) 2. 在”Build”菜單上, 點擊”Configurations”. 3. 在”Configurations”對話框上, 點擊”Add”. 4. 在”Add Project Configuration”對話框上, 設置”Configuration”到Debug64, 然后, 在”Copy Settings from”列表框中點擊”MyApplication – Win32 Debug” 5. 點擊”OK”完成設置, 點擊”Close”關閉. 設置激活配置為64位 1. 在”Build”菜單上, 點擊”Set Active Configuration”. 2. 點擊”MyApplication – Win32 Debug64”, 然后, 點擊”OK”. 修改編譯器和鏈接器的參數配置 由于64位的編譯器和鏈接器的參數配置和32位的有些不一樣, 我們需要修改部分選項, 下面是這些配置步驟: 1. 在”Project”菜單中,點擊”Settings”. 2. 在”Project Settings”對話框中, 點擊”General”標簽. 在”Output directories”, 在”Intermediate files” 和”Output files”輸入框中, 鍵入”Debug64”(沒有引號) 3. 在”C/C++”標簽上, 在”Debug info”下拉列表中, 選擇”Program database(參數選項對應是 /Zi) 4. 在”Link”標簽上, 在”Project options”的輸入框中, 變化”/machine:I386”(沒有引號)到”/machine:IA64”(沒有引號) 譯注: 正確設置應是: /machine:AMD64 5. 在”View”菜單上, 點擊”Workspace”. 6. 然后, 移除幫助文件MyApplication.hpj 7. 如果你的應用程序是基于MFC的, 你必須添加一個MFC路徑以避免鏈接錯誤:LNK1004 on the Mfc42d.lib, 請按下面步驟操作: a. 在”Tools”菜單上, 點擊”Options”. b. 在”Directories”標簽上, 在”Show directories”下拉列表中, 選擇”Library Files”, 現(xiàn)在添加你的平臺庫所在路徑: ”\Microsoft SDK\lib\IA64\mfc”(沒有引號) 譯注補充: 在”C/C++”標簽上, 在”Preprocessor definitions”輸入框中將WIN32改成WIN64 創(chuàng)建并調試這個工程 現(xiàn)在Build這個工程, 生成64位應用程序, 這個應用程序被部署在一個IA64計算機上. 要在Visual C++ 6.0中運行這個.exe文件, 按下面步驟: 注意: 你不能夠在Visual C++ 6.0 IDE中調試這個.exe文件. a. 在你的IA64計算機上, 創(chuàng)建一個文件夾: C:\VC6MSVCMON 從X86(32位)計算機上拷貝這些文件到這個新創(chuàng)建的文件夾中: Msvcmon.exe Dm.dll Msdis110.dll Tln0t.dll 上面這些文件應在你的Visual C++ 6.0安裝目錄下: \Visual Studio\Common\MSDev98\Bin b. 在拷貝完這些文件后, 在IA64計算機上運行Msvcmon.exe, 然后, 點擊”Connect”. c. 在X86(32位)計算機上, 打開Visual C++ 6.0 IDE, 在”Build”菜單上, 點擊”Debugger Remote Connection”. d. 在”Remote Connection”對話框中, 點擊”Network TCP/IP”, 然后, 點擊”Settings”. e. 在”Target computer name of address”輸入框中, 鍵入IA64計算機的名稱. 點擊”ok”兩次, 關閉對話框. f. 在Visual Studio C++ IDE中, 在”Project”菜單上, 點擊”Settings”, 在左側面板, 展開”MyApplication”, 然后, 點擊”Debug”標簽. 你將注意到”Executable for debug session”輸入框包含了MyApplication.exe的路徑, 看起來是C:\<X86Path>\MyApplication.exe. g. 在”Remote executable path and file name”輸入框中, 鍵入”MyApplication.exe”(沒有雙引號)所在的全路徑, 這個路徑看起來像: \\<X86ComputerName>\C$\<x86Path>\MyApplication.exe(沒有引號).點擊”OK”關閉該窗口. h. 按下CTRL+F5或在”Build”菜單上點擊”Execute MyApplication.exe”, 開始運行這個.exe文件, 這個.exe文件現(xiàn)在是運行在IA64計算機上. 注意:如果MyApplication是一個MFC應用程序并且這個工程用到了MFC相關的.dll文件, 請確信在IA64計算機上, 那些.dll文件從\Microsoft SDK\NoRedist\Win64文件夾中已被拷貝到\System32文件夾中. 譯注:\Microsoft SDK\NoRedist\Win64存放的是debug和release版本的MFC, ATL相關dll(64位), 實際上你也可以拷貝這些dll文件到你的可執(zhí)行.exe文件所在同一目錄中. 這些dll文件是: Mfc42d.dll Mfco42d.dll Msvcrtd.dll 譯注補充: 編譯/鏈接中經常遇到的問題: 鏈接出錯, 通常是RTC, cookie錯誤, 參見下面鏈接設置: http://support.microsoft.com/?scid=kb%3Ben-us%3B894573&x=15&y=14 鏈接中如出現(xiàn) Error Spawing bscmake.exe 去掉勾選編譯參數(Project settings > c/c++): Generate Browse Info 如果仍不成功, 請仔細檢查在菜單項”Tools” > “Options” , 定位在”Directories”標簽, 選擇”Executable Files”, 在下面的目錄列表中, 將<SDK安裝目錄>\bin路徑放在第一項.(這個目錄中的64位編譯器和鏈接器程序將重載舊的32位設置). 如果你是動態(tài)庫和主應用程序鏈接, 必須保持用的是相同運行時庫, 例如: 全部都是Multi-Threads DLL(點擊”Project” > “Settings”, 選擇”C/C++”標簽, 在”Category”下拉列表中選擇”Code Generation”, 在下面”Use runtime library”下拉列表中選擇). 用Visual C++ .NET IDE創(chuàng)建一個64位應用程序 警告: 在已安裝Visual Studio .NET的計算機上, 請不要同時安裝64位版本的WinDbg調試器工具, 請讀平臺SDK的Readme.doc(位置在: C:\Program Files\Microsoft SDK\Bin\Win64\Readme.doc). 設置64位創(chuàng)建環(huán)境變量, 用下面任何一種方式都行: 參照前文相同部分. 開始啟動Visual C++ .NET, 并用剛才我們創(chuàng)建好的64位環(huán)境 1. 在64位SDK環(huán)境設置的命令行窗口中,打開Visual Studio .NET. 2. 鍵入”devenv /useenv”(沒有引號), 然后, 點擊”OK”. 現(xiàn)在include, library, executable目錄被設置成為64位SDK所在目錄. 注意: 如果Devent.exe不在當前路徑(通常是在系統(tǒng)環(huán)境變量Path中未指定Visual Studio .NET安裝目錄), 請改變文件夾路徑到<Visual Studio .NET安裝目錄>\Microsoft Visual Studio .NET\Common7\IDE, 然后再運行上述命令. 警告:在你運行這個命令后, Visual Studio .NET IDE就被設置成為64位的開發(fā)環(huán)境, 如果你想清除這個環(huán)境, 在打開一個新的Visual Studio .NET IDE之前, 刪除在C:\Documents and Settings\<Username>\Local Settings\Application Data\Microsoft\VisualStudio\7.0 下的Vccomponents.dat文件. 添加一個64位調試配置 1. 打開一個已存在的32位工程(例如, MyApplication). 2. 在”Build”菜單上, 點擊”Configuration Manager”. 3. 在”Active Solution Configurations”列表中, 點擊”New”. 4. 在”New Solution Configurations”對話框中, 在”Solution Configuration Name”下面選擇”Debug64”(不包含引號), 并且在”Copy Settings From”下面選擇”Debug”. 5. 點擊”OK”. 6. 在”Configuration Manager”對話框中, 在”Active Solution Configuration”列表中, 點擊選擇”Debug64”, 然后點擊”OK”. 修改編譯器和鏈接器設置 由于64位的編譯器和鏈接器的參數配置和32位的有些不一樣, 我們需要修改部分選項, 下面是這些配置步驟: 1. 在”Solution”(中文:解決方案)瀏覽窗口中, 右鍵”Project”, 然后, 點擊”Properties”. 2. 在”C/C++”節(jié)點, 選擇”General”. 設置”Debug Information Format”到”Program Database”(對應的編譯選項是/Zi). 3. 在”C/C++”節(jié)點中, 選擇”Code generation”. 設置”Buffer Security Check”到”No”(對應的編譯選項是/GS). 4. 在”Linker”節(jié)點, 選擇”Command Line”.在”Additional Options”下面, 添加”/MACHINE:IA64”(沒有引號). 5. 如果你的應用程序是基于MFC的,你必須添加MFC路徑以避免收到鏈接錯誤:LNK1104 on the Mfc42d.lib file. 添加MFC路徑, 按下面步驟: a. 在”Tools”菜單上, 點擊”Options”. b. 在”Projects”下面, 選擇”VC++ Directories”. 在”Show directories”列表中, 選擇”Library Files”.如果庫路徑沒有列出, 添加這個庫路徑"\Microsoft SDK\lib\IA64\mfc"(沒有引號). 注意:如果MyApplication是一個MFC應用程序并且這個工程用到了MFC相關的.dll文件, 請確信在IA64計算機上, 那些.dll文件從\Microsoft SDK\NoRedist\Win64文件夾中已被拷貝到\System32文件夾中. 這些dll文件是: Mfc42d.dll Mfco42d.dll Msvcrtd.dll 完成這些后, 就可以build 64位可執(zhí)行程序了. 調試工程參照Visual C++ 6.0 IDE部分. 更多參考在: 64-Bit Programming with Visual C++ 64位程序移植問題設置64位創(chuàng)建環(huán)境變量, 用下面任何一種方式都行: 方式一: 點擊”開始”菜單, 指向 “Microsoft Platform SDK” > “Open Build Environment Windows” > “Set Windows XP 64 Build Environment”, 然后點擊”Set Windows XP 64 Build Environment (Debug)”, 這時, 一個控制臺窗口將顯示, 一行文本顯示像” the build environment set for a 64-bit”. 方式二: 在命令提示符下, 1. 點擊”開始”菜單, 然后點擊”運行” 2. 鍵入”command.exe”(沒有引號), 然后, 點擊”確定” 3. 變化當前目錄到C:\Program Files\Microsoft SDK(你的SDK安裝目錄), 然后鍵入”SetEnv.bat /XP64”(沒有引號) 現(xiàn)在, 開始啟動Visual C++ 6.0并用我們剛才配置好的創(chuàng)建環(huán)境 1. 在同一個命令窗口中(也就是你剛才設置64位環(huán)境的命令行窗口), 打開Visual Studio. 2. 鍵入 “Msdev /useenv”(沒有引號). 請注意, 不要打開一個新的命令行窗口, 再去打開Msdev.exe, 現(xiàn)在Visual C++ 6.0 IDE已經顯示, 并且include, library及executable目錄均被設置為64位的創(chuàng)建環(huán)境(注:查看這些配置, 點擊Tools > Options > Directories, 在”Show directories for: “下拉列表中查看相應目錄配置). 另外, 如果Msdev.exe不在當前路徑下(通常是系統(tǒng)環(huán)境變量沒有相應指示), 變化目錄到你所安裝Visual Studio的目錄下, 例如: \Microsoft Visual Studio\Common\Msdev98\Bin, 然后, 再鍵入Msdev.exe. 譯注: 在前面的設置64位創(chuàng)建環(huán)境變量 , 已經將IDE的executable執(zhí)行目錄調整到SDK的相應目錄下面, 也就是說, 作為可執(zhí)行程序: 編譯器和鏈接器是在SDK目錄中, 而不再是默認的\Microsoft Visual Studio\Common\Msdev98\Bin 添加一個64位Debug配置 1. 在Visual C++ IDE中, 打開一個已經在的32位工程(例如: MyApplication) 2. 在”Build”菜單上, 點擊”Configurations”. 3. 在”Configurations”對話框上, 點擊”Add”. 4. 在”Add Project Configuration”對話框上, 設置”Configuration”到Debug64, 然后, 在”Copy Settings from”列表框中點擊”MyApplication – Win32 Debug” 5. 點擊”OK”完成設置, 點擊”Close”關閉. 設置激活配置為64位 1. 在”Build”菜單上, 點擊”Set Active Configuration”. 2. 點擊”MyApplication – Win32 Debug64”, 然后, 點擊”OK”. 修改編譯器和鏈接器的參數配置 由于64位的編譯器和鏈接器的參數配置和32位的有些不一樣, 我們需要修改部分選項, 下面是這些配置步驟: 1. 在”Project”菜單中,點擊”Settings”. 2. 在”Project Settings”對話框中, 點擊”General”標簽. 在”Output directories”, 在”Intermediate files” 和”Output files”輸入框中, 鍵入”Debug64”(沒有引號) 3. 在”C/C++”標簽上, 在”Debug info”下拉列表中, 選擇”Program database(參數選項對應是 /Zi) 4. 在”Link”標簽上, 在”Project options”的輸入框中, 變化”/machine:I386”(沒有引號)到”/machine:IA64”(沒有引號) 譯注: 正確設置應是: /machine:AMD64 5. 在”View”菜單上, 點擊”Workspace”. 6. 然后, 移除幫助文件MyApplication.hpj 7. 如果你的應用程序是基于MFC的, 你必須添加一個MFC路徑以避免鏈接錯誤:LNK1004 on the Mfc42d.lib, 請按下面步驟操作: a. 在”Tools”菜單上, 點擊”Options”. b. 在”Directories”標簽上, 在”Show directories”下拉列表中, 選擇”Library Files”, 現(xiàn)在添加你的平臺庫所在路徑: ”\Microsoft SDK\lib\IA64\mfc”(沒有引號) 譯注補充: 在”C/C++”標簽上, 在”Preprocessor definitions”輸入框中將WIN32改成WIN64 創(chuàng)建并調試這個工程 現(xiàn)在Build這個工程, 生成64位應用程序, 這個應用程序被部署在一個IA64計算機上. 要在Visual C++ 6.0中運行這個.exe文件, 按下面步驟: 注意: 你不能夠在Visual C++ 6.0 IDE中調試這個.exe文件. a. 在你的IA64計算機上, 創(chuàng)建一個文件夾: C:\VC6MSVCMON 從X86(32位)計算機上拷貝這些文件到這個新創(chuàng)建的文件夾中: Msvcmon.exe Dm.dll Msdis110.dll Tln0t.dll 上面這些文件應在你的Visual C++ 6.0安裝目錄下: \Visual Studio\Common\MSDev98\Bin b. 在拷貝完這些文件后, 在IA64計算機上運行Msvcmon.exe, 然后, 點擊”Connect”. c. 在X86(32位)計算機上, 打開Visual C++ 6.0 IDE, 在”Build”菜單上, 點擊”Debugger Remote Connection”. d. 在”Remote Connection”對話框中, 點擊”Network TCP/IP”, 然后, 點擊”Settings”. e. 在”Target computer name of address”輸入框中, 鍵入IA64計算機的名稱. 點擊”ok”兩次, 關閉對話框. f. 在Visual Studio C++ IDE中, 在”Project”菜單上, 點擊”Settings”, 在左側面板, 展開”MyApplication”, 然后, 點擊”Debug”標簽. 你將注意到”Executable for debug session”輸入框包含了MyApplication.exe的路徑, 看起來是C:\<X86Path>\MyApplication.exe. g. 在”Remote executable path and file name”輸入框中, 鍵入”MyApplication.exe”(沒有雙引號)所在的全路徑, 這個路徑看起來像: \\<X86ComputerName>\C$\<x86Path>\MyApplication.exe(沒有引號).點擊”OK”關閉該窗口. h. 按下CTRL+F5或在”Build”菜單上點擊”Execute MyApplication.exe”, 開始運行這個.exe文件, 這個.exe文件現(xiàn)在是運行在IA64計算機上. 注意:如果MyApplication是一個MFC應用程序并且這個工程用到了MFC相關的.dll文件, 請確信在IA64計算機上, 那些.dll文件從\Microsoft SDK\NoRedist\Win64文件夾中已被拷貝到\System32文件夾中. 譯注:\Microsoft SDK\NoRedist\Win64存放的是debug和release版本的MFC, ATL相關dll(64位), 實際上你也可以拷貝這些dll文件到你的可執(zhí)行.exe文件所在同一目錄中. 這些dll文件是: Mfc42d.dll Mfco42d.dll Msvcrtd.dll 譯注補充: 編譯/鏈接中經常遇到的問題: 鏈接出錯, 通常是RTC, cookie錯誤, 參見下面鏈接設置: http://support.microsoft.com/?scid=kb%3Ben-us%3B894573&x=15&y=14 鏈接中如出現(xiàn) Error Spawing bscmake.exe 去掉勾選編譯參數(Project settings > c/c++): Generate Browse Info 如果仍不成功, 請仔細檢查在菜單項”Tools” > “Options” , 定位在”Directories”標簽, 選擇”Executable Files”, 在下面的目錄列表中, 將<SDK安裝目錄>\bin路徑放在第一項.(這個目錄中的64位編譯器和鏈接器程序將重載舊的32位設置). 如果你是動態(tài)庫和主應用程序鏈接, 必須保持用的是相同運行時庫, 例如: 全部都是Multi-Threads DLL(點擊”Project” > “Settings”, 選擇”C/C++”標簽, 在”Category”下拉列表中選擇”Code Generation”, 在下面”Use runtime library”下拉列表中選擇). 用Visual C++ .NET IDE創(chuàng)建一個64位應用程序 警告: 在已安裝Visual Studio .NET的計算機上, 請不要同時安裝64位版本的WinDbg調試器工具, 請讀平臺SDK的Readme.doc(位置在: C:\Program Files\Microsoft SDK\Bin\Win64\Readme.doc). 設置64位創(chuàng)建環(huán)境變量, 用下面任何一種方式都行: 參照前文相同部分. 開始啟動Visual C++ .NET, 并用剛才我們創(chuàng)建好的64位環(huán)境 1. 在64位SDK環(huán)境設置的命令行窗口中,打開Visual Studio .NET. 2. 鍵入”devenv /useenv”(沒有引號), 然后, 點擊”OK”. 現(xiàn)在include, library, executable目錄被設置成為64位SDK所在目錄. 注意: 如果Devent.exe不在當前路徑(通常是在系統(tǒng)環(huán)境變量Path中未指定Visual Studio .NET安裝目錄), 請改變文件夾路徑到<Visual Studio .NET安裝目錄>\Microsoft Visual Studio .NET\Common7\IDE, 然后再運行上述命令. 警告:在你運行這個命令后, Visual Studio .NET IDE就被設置成為64位的開發(fā)環(huán)境, 如果你想清除這個環(huán)境, 在打開一個新的Visual Studio .NET IDE之前, 刪除在C:\Documents and Settings\<Username>\Local Settings\Application Data\Microsoft\VisualStudio\7.0 下的Vccomponents.dat文件. 添加一個64位調試配置 1. 打開一個已存在的32位工程(例如, MyApplication). 2. 在”Build”菜單上, 點擊”Configuration Manager”. 3. 在”Active Solution Configurations”列表中, 點擊”New”. 4. 在”New Solution Configurations”對話框中, 在”Solution Configuration Name”下面選擇”Debug64”(不包含引號), 并且在”Copy Settings From”下面選擇”Debug”. 5. 點擊”OK”. 6. 在”Configuration Manager”對話框中, 在”Active Solution Configuration”列表中, 點擊選擇”Debug64”, 然后點擊”OK”. 修改編譯器和鏈接器設置 由于64位的編譯器和鏈接器的參數配置和32位的有些不一樣, 我們需要修改部分選項, 下面是這些配置步驟: 1. 在”Solution”(中文:解決方案)瀏覽窗口中, 右鍵”Project”, 然后, 點擊”Properties”. 2. 在”C/C++”節(jié)點, 選擇”General”. 設置”Debug Information Format”到”Program Database”(對應的編譯選項是/Zi). 3. 在”C/C++”節(jié)點中, 選擇”Code generation”. 設置”Buffer Security Check”到”No”(對應的編譯選項是/GS). 4. 在”Linker”節(jié)點, 選擇”Command Line”.在”Additional Options”下面, 添加”/MACHINE:IA64”(沒有引號). 5. 如果你的應用程序是基于MFC的,你必須添加MFC路徑以避免收到鏈接錯誤:LNK1104 on the Mfc42d.lib file. 添加MFC路徑, 按下面步驟: a. 在”Tools”菜單上, 點擊”Options”. b. 在”Projects”下面, 選擇”VC++ Directories”. 在”Show directories”列表中, 選擇”Library Files”.如果庫路徑沒有列出, 添加這個庫路徑"\Microsoft SDK\lib\IA64\mfc"(沒有引號). 注意:如果MyApplication是一個MFC應用程序并且這個工程用到了MFC相關的.dll文件, 請確信在IA64計算機上, 那些.dll文件從\Microsoft SDK\NoRedist\Win64文件夾中已被拷貝到\System32文件夾中. 這些dll文件是: Mfc42d.dll Mfco42d.dll Msvcrtd.dll 完成這些后, 就可以build 64位可執(zhí)行程序了. 調試工程參照Visual C++ 6.0 IDE部分. 更多參考在: 64-Bit Programming with Visual C++ 64位程序移植問題 |
|