![](/img/trans.png)
[英]Are there smaller Visual Studio 2015 C++ Redistributable (vcredist_x86.exe) than 14 MB?
[英]Why does MSVS 2010 MFC project depend on vcredist_x86.exe for MSVS 2008?
我在MSVS 2010中有一個MFC項目。當我編譯它時,MSVS生成包含以下行的清單文件:
<assemblyIdentity publicKeyToken="1fc8b3b9a1e18e3b"
processorArchitecture="x86" version="9.0.21022.8"
name="Microsoft.VC90.CRT" type="win32"/>
因此,我得到的二進制文件依賴於MSVS 2008的vcredist_x86.exe和MSVS 2010的vcredist_x86.exe,盡管它實際上僅使用vcredist_x86.exe來實現MSVS 2010!
我試圖在項目屬性中關閉清單生成。 之后,我的應用程序開始只使用vcredist_x86.exe安裝MSVS 2010。 但是一些控件(特別是組合框)破裂並開始錯誤顯示。 我想這是因為windows不再有來自清單的以下信息:
<assemblyIdentity language="*" publicKeyToken="6595b64144ccf1df"
processorArchitecture="x86" version="6.0.0.0"
name="Microsoft.Windows.Common-Controls" type="win32"/>
我想到了。 我有一個對libcurl.lib的引用,它引用了在MSVS 2008中編譯的openssl庫...在使用適當版本的openssl重建libcurl之后,對清單文件的引用消失了。
可能這是因為項目屬性中的平台工具集。
將其更改為v100(我現在假設它設置為v90),重新激活清單生成和嵌入(Manifest Tool \\ Input and Output)並重建項目。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.