直接編譯后運行,彈出提示框:不是有效的win32應用程序
像之前那樣把msvcr110.dll復制過去依然報錯:
這是因為vs2012編譯的win32程序用到的系統函數在xp環境上對應不上。之前轉載的這篇文章講的這個問題:http://www.cnblogs.com/rixiang/p/7918825.html
需要使用對應的平台工具集。項目右鍵屬性,配置屬性-常規-平台工具集 結果發現,只有Visual Studio 2012 (v110)這一個工具集,沒有xp的工具集。
在網上查資料,發現需要update 4,之后才會有xp工具集。
VS2012 Update 4 離線安裝包下載地址(ISO文件):
http://download.microsoft.com/download/D/4/8/D48D1AC2-A297-4C9E-A9D0-A218E6609F06/VSU4/VS2012.4.iso
update4之后再查看平台工具集,有了xp的工具集:
使用這個工具集后編譯,在xp系統運行成功。
普通的win32程序是這樣的,如果關聯到其它的庫什么的,恐怕都要重新編譯。
我的項目要用到mysql、htmlayout、duilib,感覺還是挺麻煩啊。
2018年12月18日補充。
程序用到的dll庫都要相應的用xp的平台工作集重新編譯。
我用到的是duilib庫,還有sqlite32庫,下載源碼后都重新編譯即可。
標簽:
CC++