回覆列表
-
1 # 蝸牛會魔法
-
2 # happy的兔
是這樣,你在新建VC++工程的時候,其中有一項是選擇將MFC庫作為共享的DLL還是靜態的DLL。
因為MFC程序在運行時需要一些DLL文件的支持,你從集成開發環境下編譯運行時,有默認的路徑來調用這些所需的DLL,因此運行不會有問題。
而當你單獨運行文件夾下的可執行程序時,如果一開始選擇的是作為共享的DLL,則就會因為可執行程序的當前路徑下沒有所需的DLL文件而無法運行。解決方法:一種是打包程序,生成程序的安裝包,就像商業軟件一樣。
另一種就是採用作為靜態的DLL方式,即將程序要用到的庫集成到生成的exe程序中。
這樣程序會稍稍大一點點,相當於一個綠色軟件。
你可以點擊工程菜單下設置菜單項,常規選項卡,選擇作為靜態的DLL,重建工程就可以了。
實際上這個問題很多情況下是由於路徑設置的問題引起的,“CL.exe”是VC使用真正的編譯器(編譯程序),其路徑在“VC根目錄\VC98\Bin”下面,你可以到相應的路徑下找到這個應用程序。