簡體   English   中英

Visual C ++ Express 2008的靜態運行時庫鏈接

[英]Static Runtime Library Linking for Visual C++ Express 2008

您如何告訴Visual C ++ Express 2008靜態鏈接運行時庫而不是動態鏈接? 我的前任目前沒有在安裝了某種VS的計算機上運行,​​我很樂意改變它。 :)

抱歉,我沒有VC ++ Express進行測試,但在標准版中,我使用項目屬性 - >配置屬性 - > C / C ++ - >代碼生成 - >運行時庫。 Dll和Dll Debug用於動態鏈接。

你是否100%確定你想要這樣做? 請注意,如果您這樣做並且運行時庫中存在安全漏洞,Microsoft將無法通過Windows Update修補您的應用程序。

另一種解決方案是將Visual C ++ Runtime Redistributable與您的應用程序打包在一起。 它安裝速度非常快,不需要Visual Studio。 同樣重要的是要注意,您不應該分發與調試運行時庫鏈接的代碼,因為它們需要Visual Studio。 有關打包可再發行組件的更多信息,請參閱此博客文章

編輯 :據說,這取決於你。 我的觀點很簡單,你不應該僅僅根據用戶必須“安裝某種VS”的想法來忽略動態鏈接,這是不正確的。

請參閱此問題的答案: 如何使用Visual Studio Express 2005創建完全靜態鏈接的.exe? 它適用於VS2005 Express,但答案仍然有效。

對於C-runtime進入項目設置,選擇C / C ++然后選擇'Code Generation'。 將“運行時庫”設置更改為“多線程”而不是“多線程dll”。

如果您正在使用任何其他庫,則可能需要告知鏈接器顯式忽略動態鏈接的CRT。

您可以在目標計算機上安裝C運行時redist,並且可執行文件也可以在那里運行動態鏈接的C運行時。

(哦,對不起,已經提到了)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM