VS2010 problem
-
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?
Bengt
-
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.
Look:
@ <dependency>
<dependentAssembly>
<assemblyIdentity type='win32' name='Microsoft.VC90.DebugCRT' version='9.0.21022.8' processorArchitecture='x86' publicKeyToken='1fc8b3b9a1e18e3b' />
</dependentAssembly>
</dependency>@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.
Sorry.
-
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.
-
I tried to rebuild Qt using VS2010, but it failed in javascript.
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.Problem solved.