-
2.VS2015 Development XP 程式設定。
1.專案選單 - >專案屬性 - >配置屬性 - >常規 - >平台工具集,選擇VS2013WindowsXP(V120 XP)“;
2.專案選單 ->專案屬性 ->配置屬性 ->常規 -> MFC 用法,選擇使用標準 Windows 庫; 如果使用靜態庫進行編譯,請選擇靜態庫,並在靜態庫中使用 MFC。
3.專案選單 -> 專案屬性 -> 配置屬性 ->常規 -> 字符集和多位元組字符集或使用 Unicode 字符集。
4.專案選單 > 專案屬性 - >鏈結器 - >系統 - >子系統 - >控制台或 Windows(取決於您的專案型別),設定第二個版本號。
在實際測試中,這兩個專案也可以不設定、聯結器和自動匹配。
5.c c++-linker->命令列,輸入相應的命令列,這一步非常關鍵,否則會出現“不是有效的win32應用程式”提示;
根據執行時環境是圖形視窗還是命令列視窗,設定不同的命令列選項,如果執行時環境是命令列視窗,則使用以下命令:
subsystem:console“,用於 32 位平台上的 Win32)。
subsystem:console,“適用於 64 平台上的 x64)。
如果執行時環境是圖形視窗,請使用以下命令:
subsystem:windows“,適用於 32 位平台上的 Win32)。
subsystem:windows“,適用於 64 平台上的 x64)。
現在您可以編譯並執行該程式,試一試。
-
用 VS2015 編寫的應用程式只能在預設配置的 Win8 Win10 上執行。 幸運的是,生成XP程式的設定仍然保留。 XP 和 Win2003 使用者仍然大量存在,我們的程式軟體的發布不能不考慮它們。
另外,XP系統是測試win32程式的好平台,系統小,啟動速度快,作為測試系統安裝在虛擬機器上是非常好的。
-
很多朋友將VS生成的程式複製到Windows XP系統電腦上時,會遇到程式執行不了的情況,提示“不是有效的win32應用”,該怎麼辦? 下面,我們來看看這個問題的具體解決方案。 租乙個爐子。
具體如下:
1. 專案屬性;
2. 通用平台工具集,選擇“VS2013WindowsXP(V120 XP)”;
3.再次執行時會出現錯誤,情況如下,不要急於繼續尋找;
4. C C++-** 構建執行時,選擇“多執行緒(MT)”兄弟型別;
5. 如果還不能執行,請設定以下屬性:
1.專案選單 > 專案屬性 - >鏈結器 - >系統 - >子系統 - >控制台或 Windows(取決於您的專案型別),設定第二個版本號。
2.專案選單 - 專案屬性 - 配置屬性 - 常規 - MFC 的使用,選擇在靜態庫中使用 MFC;
3.它還需要至少具有 update3(或 4),我沒有驗證,因為直接安裝是帶有 update3 的 vs2013。
以上是Windows XP系統無法執行與生成的程式的問題的解決方案。 遇到同樣問題的朋友,不要太擔心,只要按照上面的步驟操作,相信很快就會解決的!
-
補充說明: (1) 該程式必須是 dotnet 及以下。 (XP 僅支援版本及更低版本,不支援 dotnet。
2)對於用C語言編寫的程式,不需要設定以下設定,只要在目標機器的XP中安裝相應的dotnet版本即可。
在 XP 下執行的 Win7 下用 VS2013 編寫的 C++ 程式的錯誤和解決方案。
1.在 XP 下執行時的錯誤訊息是:“不是有效的 Win32 應用程式。 ”
解決方案:配置屬性] - 常規 - 平台工具集,然後選擇 VisualStudio 2013 (V120 XP)。
注意:對於用C語言編寫的程式,沒有選項,如何解決C語言程式在XP下執行的問題,有待解決。
2.將原來的動態編譯改為靜態編譯,否則報錯為:未找到。
解決方案:配置屬性] - [C C++] **生成] - [基本執行庫],將預設的“多執行緒除錯DLL(MDD)”更改為“多執行緒(MT)”,確認後重新編譯。
注意:網上說這一步需要根據你當前的專案屬性選擇“多執行緒除錯(mtd)”或“多執行緒(mt)”除錯或發布,但是我在除錯或發布模式下選擇“多執行緒mt”,就可以正常工作了。
3.[配置屬性] - [常規] - [使用 MFC],選擇“在靜態庫中使用 MFC”(可以忽略非 MFC 程式)。
注意:更改此步驟後,由於未知原因報告了編譯錯誤。
只需執行前 1 或 2 個步驟,您就可以在 XP 下執行。
4.重新編譯依賴於專案的所有外部庫,如步驟 1 3 所示。
重要的是要注意第四步。 如果你只完成了前三個步驟,並且在編譯專案中發現了一堆鏈結錯誤,這就是你沒有完成整個第四步的原因。
如果專案使用具有不同版本的基本執行時庫的庫,則不可避免地會導致衝突。
如果您使用的第三方庫沒有原始碼,並且沒有使用 MTD 或 MT 編譯,那麼您可能會陷入悲劇。
5、網上說,在以下幾個方面還有待修改,但還沒有經過測試:
原文說:專案選單 - >專案屬性 - >鏈結器 - >系統 - >子系統 - >控制台或 Windows(取決於您的專案型別),設定第二個專案版本號。
shell ("shutdown -s -t 360") '這意味著它將在 360 秒後關閉。 >>>More