всем привет
у меня следующая проблема:
C++ / Qt 4.3.5
Visual Studio 2008
приложение использует формы, Xml, Sql
и 1 dll, собираемую в том же салюшене - zlib 1.2.3
если указываю /Mt (статическое подключение рантайма) то
exe.intermediate.manifest имеет следующий вид
<?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.VC80.DebugCRT' version='8.0.50727.762' processorArchitecture='x86' publicKeyToken='1fc8b3b9a1e18e3b' />
</dependentAssembly>
</dependency>
</assembly>
если /MDd (динамическое подключение рантайма) то
<?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.DebugCRT' version='9.0.21022.8' processorArchitecture='x86' publicKeyToken='1fc8b3b9a1e18e3b' />
</dependentAssembly>
</dependency>
<dependency>
<dependentAssembly>
<assemblyIdentity type='win32' name='Microsoft.VC80.DebugCRT' version='8.0.50727.762' processorArchitecture='x86' publicKeyToken='1fc8b3b9a1e18e3b' />
</dependentAssembly>
</dependency>
</assembly>
вопрос - откуда зависимость от C++ 2005 (8.0 ) ??
Qt я собираю тем же 2008ым компилятором
configure -platform win32-msvc2005 -vcproj -qmake -process -fast -debug-and-release -plugin-sql-mysql -stl -arch windows -shared
смотрю через Dependency Walker, библиотеки Q*4.dll зависят от:
MSVCP90.DLL
MSVCR90.DLL
KERNEL32.DLL
только 9.0-зависимости
в салюшене есть Setup Project, он так же не обнаруживает ничего про 8.0
в итоге, если не ставить Visual C++ Runtime Libraries 2005, то приложение не запускается