看板 C_and_CPP 關於我們 聯絡資訊
好像沒有人PO相關解法,分享一下,我只是小嫩嫩,有錯誤的話請不吝指正 VS 2005 與 VS 2008 之後的版本 都會有一個問題: 輸出的執行檔在沒有安裝VS 2005 或 VS 2008的電腦下無法執行 這是因為該電腦中並沒有所需的DLL的關係 我今天終於灌好VS 2008有東西能用了(confiker病毒超機掰害老子我重灌) 這篇文章告訴大家怎麼樣能讓他正常執行 因為我的環境是英文版(下載時只有殘體中文跟英文能選只好選英文) 所以中文名詞是依照我的印象打的可能有誤 ------------------------------------開始了------------------------------------ 前言: 沒有特別說明的話,設定畫面的開法都是: Solution Explorer(方案瀏覽器)->你的專案/方案 上點右鍵->properties(設定) 一開始我們要先更改組態設定,將預設的除錯(Debug)改為發佈(Release) 這時候會因為你是選擇方案或是專案而有不同的操作 1.方案設定 : Configuration Propreties->Configuration 這時候你所有的專案會被列在一個表中,這個表有專案名稱.組態.平台.已建置 這四個欄位,在Configuration(組態)這欄選擇release(預設應該是Debug) 2.專案設定 : Configuration Propreties->Configuration(在視窗左上角下拉式選單) 同樣改成Release即可 將組態設定完成之後,我們有兩個方法可以進行接下來的工作 這兩種方式是截然不同的 1.在想執行的電腦上安裝VC++ 2005 或 VC++ 2008可轉散發套件,這樣電腦中缺少的DLL 就都有了! 2005 : http://0rz.tw/e55dr 2008 : http://0rz.tw/GBwSd 2.將這些程式碼都編進我們的二元碼檔案中,這樣會造成二元碼的大小變大 方法如下 : 專案設定 : Configuration Propreties->Code Generation->Runtime Library 在下拉式選單選擇 Multi-Threaded(/MT) 或 Multi-threaded Debug(/MTD) 這樣我們所編繹出來的程式便不會使用DLL,而是在編譯時就將程式碼全部放入二元碼 中,用這個方法會有某些函式是不能使用的(像AFX函式好像一堆不能用吧),但這些函 式 通常有功能一模一樣的其他函式能代替,如果出現錯誤就換一個吧 一樣的,這兩種方式擇一即可,但是如果多幾個(2)的方式產生的執行檔,其實浪費的空間就 比(1)大很多了,而"很多"也頂多4.5個就超過了,所以如果可以的話就用方法(1)吧 閒著沒事做的人可以用VS2005做個安裝檔(等有空再說說怎麼做吧)把這些東西都包進去或 是包個連結(不知道可不可以),然後弄個選單(不知道VS2005能不能直接做,沒試過)讓使用 者選擇是否安裝或下載甚至自己檢查登錄檔,沒安裝過的話就安裝(我還是沒做過XD) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 124.10.69.94
wowtiger:請 google 查一下 Microsoft.VC80.CRT 謝謝 09/20 21:41
WPC001:到底想要表達什麼??? o_Oa 09/20 22:54
VictorTom:只是整理一下, 用VC寫的程式拿到沒有裝VC的環境會遇到程 09/20 23:12
VictorTom:式初始化失敗, 的兩種常見的解決方法罷了....@_@" 09/20 23:12
VictorTom:題外話, 有裝VC又另外裝VC Dist不知道是不是會有問題, 09/20 23:13
VictorTom:我的防火牆軟體安裝VC2005 Dist時一定會發生error, 直到 09/20 23:13
VictorTom:它們改版幫我裝VC2008 Dist後就順利裝完了; PS. 我的電 09/20 23:14
VictorTom:腦裡有VC 2005; XP SP3, Win Update除了IE/WMP都裝了@@" 09/20 23:14
wowtiger:所以我的方案不被納入阿 ...0rz 明明是最常見的作法 09/20 23:23
VictorTom:google到第一個MSDN的結果, 可是說真的看起來好像很麻煩 09/20 23:29
VictorTom:說@_@" 寫程式的這端改個project屬性, 或者要run的那端 09/20 23:30
VictorTom:裝個VC Dist, 感覺比一點一點慢慢查省事的多啊....Orz 09/20 23:30
wowtiger:直接複製 VC\redist\x86\Microsoft.VC80.CRT 的資料夾阿 09/20 23:45
wowtiger:在 C:\Program Files\Microsoft Visual Studio 8.0 裡面 09/20 23:45
wowtiger:簡單講 請參考 WOW 的作法 09/20 23:48
VictorTom:原來是這個意思啊, 不到1.6M的檔案, 這招也不錯XD 09/21 00:37
Ebergies:我都用 wowtiger 的做法, 超級方便 09/22 15:42
eagle36:請問WOW的作法是要複製到哪個位置? 09/28 20:19