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