Название: Зависимость от CRT 8.0 при сборке под 9.0 Отправлено: Godfather от Июнь 02, 2008, 19:57 всем привет
у меня следующая проблема: 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, то приложение не запускается Название: Re: Зависимость от CRT 8.0 при сборке под 9.0 Отправлено: lit-uriy от Июнь 02, 2008, 22:06 Цитировать Qt я собираю тем же 2008ым компилятором а может всетаки по привычке 2005'ым ?Цитировать configure -platform win32-msvc2005 -vcproj -qmake -process -fast -debug-and-release -plugin-sql-mysql -stl -arch windows -shared Тогда этоб обяснило. Название: Re: Зависимость от CRT 8.0 при сборке под 9.0 Отправлено: Godfather от Июнь 03, 2008, 08:13 для 4.4 есть QMAKESPEC спецом для 2008 http://doc.trolltech.com/4.4/supported-platforms.html
а в доках по 4.3 есть только 2005, хотя с таким конфигом компилируется и под 2008 по идее, из библиотек Qt и вытекает зависимость от 2005, но я прошелся Dependency Walker'ом по всем библам Qt (перед этим ещё раз их принудительно собрал) и везде MSVC*90.DLL что же делать.. ещё проверю zlib, может там откуда-то 2005 взялся ибо очень не хочется на конечной стадии разработки переходить на 4.4, по опыту с RC чревато массой глюков с UI |