I am working on a 64-bit Windows 7 Ultimate VS2008 operating system with a 64-bit addon.
I successfully create my projects in both 32-bit and 64-bit debug and release configurations. 64-bit debugging does not start; he gives an error:
Cannot start the xxx program. This application could not be started because the application was configured incorrectly. Browse the manifest file for possible errors. Reinstalling the application may fix the problem. See the application event log for more information.
I started the dependency walker. From the custom path C: \ Program Files (x86) \ Microsoft Visual Studio 9.0 \ VC \ redist \ Debug_NonRedist \ amd64 \ Microsoft.VC90.DebugCRT I added Microsoft.VC90.DebugCRT.manifest msvcm90d msvcp90d msvcr90d Microsoft.VC90.DebugOpenMP vcomp in the bin \ debug folder of my solution.
Finally, the dependency choir did not have yellow marks (missing files), but still it produced errors such as:
Error: At least one required implicit or redirected dependency was not found. Error. At least one module has unauthorized imports due to the lack of an export function in an implicitly dependent module. Error: Modules with different CPU types were found. Error. The side-by-side configuration information in e: \ xyz.EXE contains errors. The application failed to start because its side by side configuration is incorrect. Please view the application event log or use the sxstrace.exe command line tool for more details (14001).
The 32-bit manifest says:
<?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"></requestedExecutionLevel>
</requestedPrivileges>
</security>
</trustInfo>
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32" name="Microsoft.VC90.DebugCRT" version="9.0.21022.8" **processorArchitecture="x86"** publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>
</dependentAssembly>
</dependency>
</assembly>
Whereas in a 64-bit debug manifest there is:
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32" name="Microsoft.VC90.DebugCRT" version="9.0.21022.8" processorArchitecture="amd64" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>
</dependentAssembly>
</dependency>
What I donโt understand, why does the 32-bit debug build work successfully?
Please help me, since I already checked a lot of questions, but did not find an acceptable solution.