Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct
This may be off-topic, but maybe there is a quick answer to my problem.
I qmake my vcapp project, which generates a .vcproj Visual Studio C++ 2008 project.
I open this with my newly installed VC2010, it converts it to a .vcxproj Visual Studio C++ 2010 project and after some needed changes in the project settings, it builds. The Release app runs fine.
However, I cannot debug it since it cannot find VC90.DebugCRT. This is usually a problem if you distribute a Debug app version outside the development system where VC is istalled, but this is not the case here so there should not be a problem. What did I miss?
You missed VC90.DebugCRT I think :)
Just go into the project properties and choose the v100 toolset instead of v90. You can find it in the general tab in the project settings.
Checked that, it says v100.
I begin to suspect the intermediate manifest file.
<assemblyIdentity type='win32' name='Microsoft.VC90.DebugCRT' version='9.0.21022.8' processorArchitecture='x86' publicKeyToken='1fc8b3b9a1e18e3b' />
What is the origin of this content? A setting in the project, or is it generated by qmake?
I have no such an XML tag in my vs2010 projects also in those were converted from previous versions. Try to delete it.
Problem is that it is generated at every build.
In I have Project Properties/Linker/Manifest file/Generate manifest = yes.
Is it ok to turn this off in Windows 7?
I remember it was necessary under Vista, I struggled a lot with that.
NO you should have manifest file, but you don't have to have this dependency. Check "Manifest tool" item in properties. There is an option for suppressing manifest dependency.
Thanks, but the connection between your advice and the entries in the Manifest Tool is not transparent to me. Could you be more specific?
Ok, you have some manifest dependency which is generated during each VS build. "Properties/Manifest tool" has field named "Suppress dependency element" also some field about dependency exists in "Properties\Linker\Manifest". I don't know is it solution or not but if it isn't may be you will attach your project here and I'll try to correct it by myself?
Thanks. I realize I tried to answer your last message by looking at VS2008, not VS2010, not so productive. I will check tomorrow, I have my W7/VS2010 at my work.
Some news: I disabled manifest generation for my project, and now I got a related error for QtGuid4.dll:
@Activation context generation failed for "C:\Qt\4.6.3\bin\QtGuid4.dll". Dependent Assembly Microsoft.VC90.DebugCRT,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="9.0.21022.8" could not be found. Please use sxstrace.exe for detailed diagnosis.@
Does this mean that "http://qt.nokia.com/downloads/windows-cpp-vs2008" as is will not be usable with vs2010?
Do I have to rebuild Qt with vs2010?
Hm, actually you shouldn't use VS2008 libs for v100 toolset. I see two variants:
- Install vs2008 on the target machine, switch properties in project to use v90. You'll have VS2010 as your primary IDE still but with v90 toolset. Bad variant I believe.
- Rebuild Qt with VS2010 and use it without any troubles. It's more time consuming but more righteous way.
Has anyone done this before? Any special config settings?
Ok, thanks a lot for that link!
I fixed the errors in StructureTransitionTable.h x 2, did configure with no switches and nmake in the VS2010 command window at C:\Qt\4.6.3.
It took a few hours to build, but now all is working as intended.