使用VC2005编译静态应用程序的方法
使用VC2005編譯靜態(tài)應(yīng)用程序的方法
轉(zhuǎn)自:http://hi.baidu.com/hardyheron/blog/item/0a80714575dd883687947387.html
使用VC2005編譯靜態(tài)應(yīng)用程序的方法 2009-07-16 18:03
| 使用VC編譯C或者C++程序,都需要相關(guān)的C runtime庫(kù)才能運(yùn)行。如果你是VC6,相應(yīng)的庫(kù)就叫MSVCR,如果是VC2005,那就是MSVCR08,VC2008就是MSVCR09。我這 里假設(shè)你安裝的是VC2005,請(qǐng)進(jìn)入如下目錄:{VS Install Dir}/VC/redist/x86和{System Driver}:/windows/system32,你就會(huì)發(fā)現(xiàn)下面有很多很多的庫(kù)。沒(méi)錯(cuò),這里相當(dāng)一部分就是C Runtime庫(kù)。 用VC2005編寫的Console Win32 C/C++程序,怎么發(fā)布給最終用戶呢?有兩個(gè)方法: (1) 靜態(tài)引用C Runtime庫(kù) 打開"項(xiàng)目"->"屬性"->"配置屬性"->"C/C++"->"代碼生成"->"運(yùn)行時(shí)庫(kù) "。這里一共有四個(gè)選項(xiàng),其中MT開頭的是靜態(tài)引用,MD開頭的是動(dòng)態(tài)引用,d結(jié)尾的是Debug調(diào)試版本,沒(méi)有d的是Release發(fā)布版本,所以就一 共有四個(gè)選項(xiàng)。 我們選擇/MT(這是默認(rèn)選項(xiàng)),相應(yīng)的在"項(xiàng)目"->"屬性"->"配置屬性"->“常規(guī)”里選上“在靜態(tài)庫(kù)中使用 MFC”。然后編譯程序(生成的程序應(yīng)該不小),把這個(gè)程序發(fā)給用戶,然后用戶就可以直接運(yùn)行了。 如果你是英文版的Visual Studio 2005,則設(shè)置這個(gè)屬性的路徑為:"Project" --> "Properties" --> "Configuration Properties" --> "C/C++" --> "Code Generation" --> "Runtime Library"。 (2) 動(dòng)態(tài)引用C Runtime庫(kù) 跟上面差不多,不過(guò)是用/MD選項(xiàng)編譯,然后發(fā)給用戶。這時(shí),用戶是不能運(yùn)行這個(gè)程序的,會(huì)報(bào)個(gè)"程序安裝出錯(cuò),不能運(yùn)行"、"重裝系統(tǒng)可能會(huì)修復(fù)問(wèn)題"之類的提示。 這時(shí)我們還要把C Runtime庫(kù)一并發(fā)過(guò)去。把{VS Install Dir}/VC/redist/x86/Microsoft.VC80.CRT下的所有文件(注意,是所有,包括那個(gè).manifest文件)發(fā)給用戶, 用戶把這些文件放在我們程序的同一個(gè)目錄,然后再次運(yùn)行,這時(shí),程序就起來(lái)了。 第一種是靜態(tài)編譯的方式,第二種是動(dòng)態(tài)編譯的方式。靜態(tài)編譯出來(lái)的可執(zhí)行文件會(huì)比動(dòng)態(tài)編譯出來(lái)的大許多,但是用戶使用上會(huì)方便很多,可以視情況選用。 如果你有多個(gè)工程,請(qǐng)記住把每個(gè)工程的配置都設(shè)成一致。 |
總結(jié)
以上是生活随笔為你收集整理的使用VC2005编译静态应用程序的方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 鸟哥私房菜linux就该这么学-学习记录
- 下一篇: 小众绿软|游戏:Lode Runner