2014-01-11 126 views
-1

我已經使用VC++ 6.0爲Windows XP創建了一個應用程序。該應用程序在Windows XP上運行良好,但是當我嘗試運行此應用程序Windows 7時,它抱怨缺少DLL msvcrt.dll,msvcp60.dll等。我的用戶不想在他們使用的每個系統上手動複製這些DLL。爲Windows XP編譯的應用程序不能在Windows 7上運行

那麼如何靜態鏈接這些DLL在VC++ 6.0上,以便用戶不必單獨複製DLL。

回答

0

可以靜態鏈接到C/CPP運行時庫。

靜態鏈接不會在C/C++運行庫上產生DLL依賴關係。如果您的應用程序由多個DLL構成,則必須確保內存不是以一個二進制文件創建,而是在另一個二進制文件中銷燬。

編輯: MFC可執行項目應改變:

項目屬性 - >常規 - >使用MFC的
更改爲 「使用MFC的靜態庫」

+0

靜態鏈接庫意味着添加/ MT到我的項目options.But使用/ MT給我一個錯誤。它說「使用/ MD開關爲_afxdll」。刪除_afxdll會影響我的程序嗎? – user3185008

+0

MFC DLL需要/ MD。如果您只有可執行文件,請檢查更新後的答案 – egur

0

選擇項目/設置...

選擇C/C++標籤

選擇代碼生成從組合框中

在庫下,更改爲多線程。

相關問題