PDA

View Full Version : issue with rcc.exe and msvcr80.dll (re: Qt4 with Visual Studio)


ranamauro
13th May 2007, 05:02
I followed the instructions posted about "Qt4 with Visual Studio".
everything went well except that my project (QPsycle) uses the resources compiler (rcc.exe) and that fails:

---------------------------
rcc.exe - Unable To Locate Component
---------------------------
This application has failed to start because MSVCR80.dll was not found. Re-installing the application may fix this problem.
---------------------------
OK
---------------------------

I tried adding a manifest file but that didn't work:

D:\>type d:\Qt\4.2.3-win-shared\bin\rcc.exe.manifest
<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
<dependency>
<dependentAssembly>
<assemblyIdentity type='win32' name='Microsoft.VC80.CRT' version='8.0.50727.762' processorArchitecture='x86' publicKeyToken='1fc8b3b9a1e18e3b' />
</dependentAssembly>
</dependency>
</assembly>

if I just copy the dll from the actual location I get a failure also:

---------------------------
Microsoft Visual C++ Runtime Library
---------------------------
Runtime Error!

Program: d:\Qt\4.2.3-win-shared\bin\rcc.exe

R6034

An application has made an attempt to load the C runtime library incorrectly.
Please contact the application's support team for more information.


---------------------------
OK
---------------------------

anybody found a solution to this problem?

pdolbey
13th May 2007, 12:44
I don't like all those separate little manifest file floating about with exe's. I'll tell you what I do to get rid of them - this applied to VS2005. After you've patched the Qt4 open source, but before you "qconfigure" it, find the file "<Qt Install>\mkspecs\win32-msvc2005\qmake.conf" where <Qt Install> is your installation folder.

Open the file up


#
# $Id$
#
# qmake configuration for win32-msvc2005
#
# Written for Microsoft C++.NET 2005
# only a slight difference to msvc.net, but Trolltech also has an extra qmakespec for 2005
#

MAKEFILE_GENERATOR = MSVC2005
TEMPLATE = app
CONFIG += qt warn_on release incremental flat link_prl precompile_header \
copy_dir_files debug_and_release debug_and_release_target embed_manifest_dll
QT += core gui
DEFINES += UNICODE QT_LARGEFILE_SUPPORT WIN32 _CRT_SECURE_NO_DEPRECATE _CRT_NONSTDC_NO_DEPRECATE
.
.
.


Add "embed_manifest_exe" to the CONFIG line and save it. Now build Qt4 as normal and all the tools/samples/examples etc. should have their manifests embedded, as well as the runtime dll's.

Pete

pdolbey
14th May 2007, 10:50
I understand the reason for jacek's edit, but remember that the "\" is not the orginal file - but you have wonder why not ;)

Pete