2010-10-26 91 views
1

我有一個用Visual C++ 2008開發的C++代碼,它在應用程序的dubug子文件夾中創建一個.exe文件。該程序在Windows Vista PC的開發機器上正常運行,但在安裝在未安裝Visual C++ 2008的Windows XP PC上的另一臺機器上時無法運行。 (我使用InstalShield 2010來部署該程序)。即使我用CODEBLOCKS重新編譯了程序,它仍然不能在另一臺機器上運行,而它在開發PC上運行得非常好。任何想法如何解決這個問題?還是有更簡單的方法來部署C++程序在任何PC上運行?部署Visual C++ 2008程序

+0

當你試圖在另一臺機器上運行它會發生什麼?也許你錯過了dll或其他東西?如果您可以發佈錯誤消息或其他內容,將會有所幫助。 – WildCrustacean 2010-10-26 02:27:52

回答

2

它需要CRT運行時。標準運行時只支持發佈版本,所以部署發佈版本的exe。

+0

是的..調試只能運行在VS系統上。 – baash05 2010-10-26 05:40:29

0

最簡單的方法是靜態鏈接所有內容。轉到您的項目屬性/設置並設置靜態鏈接選項(MFC等)。如果你喜歡,現在你可以分發.exe。

否則,創建一個新的安裝/部署項目。它應該自動檢測所有依賴關係(但應該檢查),併爲您的用戶創建一個.msi文件,以便將所有依賴項安裝在一起。

此外,如果您的.exe文件位於Debug文件夾中,那麼您可能只會構建調試版本。您可能想要構建和分發發佈版本。

+0

謝謝你們。我試過了發佈版本和靜態鏈接選項。代碼現在可以在其他機器上完美運行。 – 2010-10-27 20:39:02