[心得] Visual Studio 2005(含) 之後版本二元碼檔案輸出問題

看板NTPU-CSIE96作者 (Sennin32)時間14年前 (2009/09/20 19:49), 編輯推噓2(201)
留言3則, 3人參與, 最新討論串1/1
馬的,打報一半北二掛掉了,雞掰毛,工讀生吃泡麵小心點別潑到主機好嗎 VS 2005 與 VS 2008 之後的版本 都會有一個問題: 輸出的執行檔在沒有安裝VS 2005 或 VS 2008(依照程式的編譯器而定)的電腦下無法執行 這是因為該電腦中並沒有所需的DLL的關係 這個問題似乎只有在用C++語法撰寫程式時才會出現,但我也沒寫過其他語言的程式 所以不敢肯定,有實驗精神的人試完跟我說一下吧XD 我今天終於灌好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) --

03/22 13:50,
那就看揪賴打手槍吧
03/22 13:50

03/22 13:50,
揪賴是誰
03/22 13:50

03/22 13:50,
是樓下
03/22 13:50

03/22 13:50,
一樓= =
03/22 13:50

三樓神準
-- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 124.10.69.94

09/20 19:50, , 1F
去去,這篇文章才值兩百多=_=
09/20 19:50, 1F

09/21 08:23, , 2F
空白太少才會這樣 一行空一行常斷句 這樣應該有3.4百
09/21 08:23, 2F

09/21 11:48, , 3F
完全看不懂
09/21 11:48, 3F
文章代碼(AID): #1AjXR2dl (NTPU-CSIE96)