我上的Visual C++ 2008 Express的轉換VC++ 6工作區後,建立一個應用程序。建立在自身去成功,但真正的問題我已經是與生成清單,看起來像這樣:如何分發C運行時(CRT)庫
<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel level='asInvoker' uiAccess='false' />
</requestedPrivileges>
</security>
</trustInfo>
<dependency>
<dependentAssembly>
<assemblyIdentity type='win32' name='Microsoft.VC90.CRT' version='9.0.30729.1' processorArchitecture='x86' publicKeyToken='1fc8b3b9a1e18e3b' />
</dependentAssembly>
</dependency>
<dependency>
<dependentAssembly>
<assemblyIdentity type='win32' name='Microsoft.VC90.CRT' version='9.0.21022.8' processorArchitecture='x86' publicKeyToken='1fc8b3b9a1e18e3b' />
</dependentAssembly>
</dependency>
</assembly>
我的問題是:
我怎樣才能限制清單列出只有一個版本,最好是9.0。 21022.8。這樣我可以在應用程序中捆綁必要的C-Run時間依賴關係?
我知道可能的根本原因這個問題是它使用9.0.21022.8和我的VC++速成2008年可能會使用一些9.0.30729.1庫相關。這就是爲什麼兩者都列爲依賴項。
注:
我下面的方法B)的http://www.codeproject.com/Tips/211756/How-to-Distribute-C-run-time-CRT-Libraries-with-Yo?display=Print其中談到複製應用程序文件夾內的CRT DLL文件和Microsoft.VCXX.CRT.manifest文件。
你需要解決這個問題。是的,使用相同的編譯器設置重建所有庫。 –
除了漢斯的評論,值得一讀[this](http://www.nuonsoft.com/blog/2008/10/29/binding-to-the-most-recent-visual-studio-libraries/),它告訴你有一點關於控制你的代碼綁定到的庫的版本。 – tinman
感謝@tinman,您發佈的鏈接有助於解決我的問題。 – amit