vc++生成程式不需要.net執行環境的可以執行exe程式的方法
Q:
A:在新建VC++工程的時候,其中有一項是選擇將MFC庫作為共享的DLL還是靜態的DLL。 因為MFC程式在執行時需要一些DLL檔案的支援,你從整合開發環境下編譯執行時,有預設的路徑來呼叫這些所需的DLL,因此執行不會有問題。而當你單獨執行資料夾下的可執行程式時,如果一開始選擇的是作為共享的DLL,則就會因為可執行程式的當前路徑下沒有所需的DLL檔案而無法執行。 解決方法: 一種是使用打包程式,生成程式的安裝包,就像商業軟體一樣; 另一種就是採用作為靜態的DLL方式,即將程式要用到的庫整合到生成的exe程式中。這樣程式會稍稍大一點點,相當於一個綠色軟體。你可以點選工程選單下設定選單項,常規選項卡,選擇作為靜態的DLL,重建工程就可以了;
在VS2005裡開發的VC++程式在編譯的時候,微軟預設會加入自己的 .Net Framework (方便推廣自家產品),讓你的VC++程式依賴它,這就導致程式編譯後無法跟往常一樣直接打包在別的機器就能正常執行。如果加入了.Net Framework ,安裝包就會非常大。
以下方法很好的解決了這個問題,通過以下兩種方法可以用VS2005將VC++程式編譯為不需要依賴.Net Framework環境就可以直接執行的程式了。
方法一:
1、右鍵專案-屬性
2、配置屬性-C/C++-程式碼生成
3、執行時庫-選擇/mt或者/mtd
即 Multi-threaded (/MT) 或 Multi-threaded Debug (/MTd) 不要選 Multi-threaded DLL (/MD) Multi-threaded Debug DLL (/MDd)
4、配置屬性-C/C++-常規
5、選擇在靜態庫中使用MFC
6、編譯執行即可
方法二:
在你的VS安裝目錄裡如下路徑 /Microsoft Visual Studio 8/VC/redist/Debug_NonRedist/x86/Microsoft.VC80.DebugCRT 下找到下列檔案: msVCm80d.dll msVCp80d.dll msVCr80d.dll Microsoft.VC80.DebugCRT.manifest 把這幾個檔案拷貝到目標機器上,與你編譯後的可執行程式放置在同一資料夾,或者放到system32下,就可以讓目標機器執行該程式了。 2.VC++帶模板函式時能編譯不能連線,顯示連線錯誤“error LNK2019: 無法解析的外部符號” 解決方法:用模板的時候,把宣告和實現放在一個檔案裡。因為模板的機制決定了不可能把模板的CPP象其它方式(不用模板)一樣編譯成一個obj,資料型別都是程式中用到時才會知道的,這時連線的函式名也會因型別不同而不同,所以多數編譯器都要求寫在一個檔案中。 3.如果在VC++2005的程式中使用UNICODE字符集的API等函式,可以在專案屬性->配置屬性->字符集處選“使用UNICODE字符集”,如果只用ASCII碼,就選“未設定”即可!
相關文章
- 利用Salamander .Net Linker生成可脫離.net framework環境執行的程式Framework
- 可以在Windows的"執行"中直接執行的程式Windows
- Linux環境中以daemon方式執行的程式生成core dumpLinux
- 大資料執行環境的執行大資料
- 不安裝.net framework框架執行.Net 程式的方法<收藏>Framework框架
- JavaScript執行環境與執行棧JavaScript
- VC++中實現程式互斥執行 (轉)C++
- 生成執行計劃的方法
- 如何使用maven生成可以執行的jar?MavenJAR
- Linux環境的PHP執行LinuxPHP
- 解決非小程式執行環境,不能呼叫wx.login()生成code
- 驗證C#程式脫離.net framework環境執行(飛信法)C#Framework
- C++可以用的計算程式執行時間的方法C++
- 1-1 JavaScript執行環境 執行棧JavaScript
- win下clion打包的.exe檔案在無執行環境的電腦執行顯示缺失各種.dll
- matlab R2013a 生成exe 脫離matlab開發環境執行Matlab開發環境
- js呼叫執行exe應用程式程式碼例項JS
- googleoppiaPythonWeb程式設計執行環境搭建GoPythonWeb程式設計
- 跨平臺的.NET執行環境 Mono 3.2.7釋出!Mono
- Linux 應用程式處理當前執行環境的環境變數(轉)Linux變數
- Python如何生成windows可執行的exe檔案PythonWindows
- Java執行環境配置Java
- 使用Mavne生成可以執行的jar檔案JAR
- spaCy (1)安裝和測試程式碼的執行 windows環境Windows
- 作業系統的執行環境作業系統
- 不同環境下的mvn執行指令
- 讓 Markdown 中的程式碼可以實時執行
- 從cmake解決clion編譯生成的可執行檔案(.exe)不可執行的問題編譯
- matlab gui 生成獨立可執行的程式MatlabGUI
- 如何在互動式環境中執行Python程式Python
- 如何用 pipenv 克隆 Python 教程程式碼執行環境?Python
- UNIX環境高階程式設計——執行緒和fork程式設計執行緒
- 多執行緒-程式和執行緒的概述執行緒
- matlab程式碼轉exe可執行軟體Matlab
- js執行環境總結JS
- 【譯】JS執行時環境JS
- laradock swoole 執行環境
- Scala--執行環境搭建