一个错误,求各位高手帮忙看一下。

时间:2022-06-03 21:13:29
环境:CDT+MinGW+Qt

项目中创建了一个qrc,4.8.3编译时报如下错误:

mingw32-make debug 
mingw32-make -f Makefile.Debug
mingw32-make[1]: Entering directory `E:/QtWorkspace/CommentLinkButton'
d:\Developer\Qt\4.8.3\bin\uic.exe commentlinkbutton.ui -o ui_commentlinkbutton.h
g++ -c -g -Wall -Wextra -fno-exceptions -fno-rtti -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -DQT_NO_DYNAMIC_CAST -I"d:\Developer\Qt\4.8.3\include\QtCore" -I"d:\Developer\Qt\4.8.3\include\QtGui" -I"d:\Developer\Qt\4.8.3\include" -I"d:\Developer\Qt\4.8.3\include\ActiveQt" -I"debug" -I"." -I"d:\Developer\Qt\4.8.3\mkspecs\default" -o debug\main.o main.cpp
g++ -c -g -Wall -Wextra -fno-exceptions -fno-rtti -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -DQT_NO_DYNAMIC_CAST -I"d:\Developer\Qt\4.8.3\include\QtCore" -I"d:\Developer\Qt\4.8.3\include\QtGui" -I"d:\Developer\Qt\4.8.3\include" -I"d:\Developer\Qt\4.8.3\include\ActiveQt" -I"debug" -I"." -I"d:\Developer\Qt\4.8.3\mkspecs\default" -o debug\commentlinkbutton.o commentlinkbutton.cpp
D:\Developer\Qt\4.8.3\bin\moc.exe -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -DQT_NO_DYNAMIC_CAST -I"d:\Developer\Qt\4.8.3\include\QtCore" -I"d:\Developer\Qt\4.8.3\include\QtGui" -I"d:\Developer\Qt\4.8.3\include" -I"d:\Developer\Qt\4.8.3\include\ActiveQt" -I"debug" -I"." -I"d:\Developer\Qt\4.8.3\mkspecs\default" -D__GNUC__ -DWIN32 commentlinkbutton.h -o debug\moc_commentlinkbutton.cpp
g++ -c -g -Wall -Wextra -fno-exceptions -fno-rtti -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -DQT_NO_DYNAMIC_CAST -I"d:\Developer\Qt\4.8.3\include\QtCore" -I"d:\Developer\Qt\4.8.3\include\QtGui" -I"d:\Developer\Qt\4.8.3\include" -I"d:\Developer\Qt\4.8.3\include\ActiveQt" -I"debug" -I"." -I"d:\Developer\Qt\4.8.3\mkspecs\default" -o debug\moc_commentlinkbutton.o debug\moc_commentlinkbutton.cpp
bin\rcc.exe -name images images.qrc -o debug\qrc_images.cpp
process_begin: CreateProcess(NULL, bin\rcc.exe -name images images.qrc -o debug\qrc_images.cpp, ...) failed.
make (e=2): 系统找不到指定的文件。

mingw32-make[1]: *** [debug/qrc_images.cpp] Error 2
mingw32-make[1]: Leaving directory `E:/QtWorkspace/CommentLinkButton'
mingw32-make: *** [debug] Error 2



用4.8.0编译时报:

mingw32-make debug 
mingw32-make -f Makefile.Debug
mingw32-make[1]: Entering directory `E:/QtWorkspace/CommentLinkButton'
d:\Developer\Qt\4.8.0\bin\uic.exe commentlinkbutton.ui -o ui_commentlinkbutton.h
g++ -c -g -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_HAVE_MMX -DQT_HAVE_3DNOW -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -I"d:\Developer\Qt\4.8.0\include\QtCore" -I"d:\Developer\Qt\4.8.0\include\QtGui" -I"d:\Developer\Qt\4.8.0\include" -I"d:\Developer\Qt\4.8.0\include\ActiveQt" -I"debug" -I"." -I"d:\Developer\Qt\4.8.0\mkspecs\default" -o debug\main.o main.cpp
g++ -c -g -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_HAVE_MMX -DQT_HAVE_3DNOW -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -I"d:\Developer\Qt\4.8.0\include\QtCore" -I"d:\Developer\Qt\4.8.0\include\QtGui" -I"d:\Developer\Qt\4.8.0\include" -I"d:\Developer\Qt\4.8.0\include\ActiveQt" -I"debug" -I"." -I"d:\Developer\Qt\4.8.0\mkspecs\default" -o debug\commentlinkbutton.o commentlinkbutton.cpp
D:\Developer\Qt\4.8.0\bin\moc.exe -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_HAVE_MMX -DQT_HAVE_3DNOW -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -I"d:\Developer\Qt\4.8.0\include\QtCore" -I"d:\Developer\Qt\4.8.0\include\QtGui" -I"d:\Developer\Qt\4.8.0\include" -I"d:\Developer\Qt\4.8.0\include\ActiveQt" -I"debug" -I"." -I"d:\Developer\Qt\4.8.0\mkspecs\default" -D__GNUC__ -DWIN32 commentlinkbutton.h -o debug\moc_commentlinkbutton.cpp
g++ -c -g -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_HAVE_MMX -DQT_HAVE_3DNOW -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -I"d:\Developer\Qt\4.8.0\include\QtCore" -I"d:\Developer\Qt\4.8.0\include\QtGui" -I"d:\Developer\Qt\4.8.0\include" -I"d:\Developer\Qt\4.8.0\include\ActiveQt" -I"debug" -I"." -I"d:\Developer\Qt\4.8.0\mkspecs\default" -o debug\moc_commentlinkbutton.o debug\moc_commentlinkbutton.cpp
d:\Developer\Qt\4.8.0\bin\rcc.exe -name images images.qrc -o debug\qrc_images.cpp
g++ -c -g -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_HAVE_MMX -DQT_HAVE_3DNOW -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -I"d:\Developer\Qt\4.8.0\include\QtCore" -I"d:\Developer\Qt\4.8.0\include\QtGui" -I"d:\Developer\Qt\4.8.0\include" -I"d:\Developer\Qt\4.8.0\include\ActiveQt" -I"debug" -I"." -I"d:\Developer\Qt\4.8.0\mkspecs\default" -o debug\qrc_images.o debug\qrc_images.cpp

cc1plus.exe: out of memory allocating 134221823 bytes
mingw32-make[1]: *** [debug/qrc_images.o] Error 1
mingw32-make[1]: Leaving directory `E:/QtWorkspace/CommentLinkButton'
mingw32-make: *** [debug] Error 2

编译成外部二进制文件就没有问题。是不是qrc对资源文件的大小有要求?我的qrc中引用的图片文件为2M。

11 个解决方案

#1


你是不是手动删除了debug目录?

#2


把你的qrc文件命名发个图来看看。

#3


一个错误,求各位高手帮忙看一下。

#4


我没有删除debug文件夹。

qrc文件内容如下:
<RCC>
    <qresource prefix="/">
        <file alias="1">image/calligraphy01.jpg</file>
        <file alias="2">image/calligraphy02.jpg</file>
        <file alias="3">image/calligraphy03.jpg</file>
        <file alias="4">image/calligraphy04.jpg</file>
        <file alias="5">image/calligraphy05.jpg</file>
        <file alias="6">image/calligraphy06.jpg</file>
    </qresource>
</RCC>

#5


image/calligraphy01.jpg 弱弱的问下。。这下面的图片都存在么?

#6


应该存在的。。
 如果不存在应该报这个错。No rule to make target `image/cc.jpg', needed by `debug/qrc_rc.cpp'.  Stop.

如果你怀疑是因为图片太大的原因。可以考虑把图片还小点。。

#7


小图片确实是好用的。之前我试过。

#8


o ..确定大图片不行哇?。。一定要使用资源文件的形式来加载图片?
弱弱的问一下。为啥不直接从文件系统里去读取呢?

#9


没有,我用外部二进制文件的方式它是好的。只是遇到了这个问题,想求个解释。 http://qt-project.org/forums/viewthread/13409 我刚刚看到了一个帖子,描述的问题好像和我的差不多。那里面的兄弟给出的结论好像是MinGW编译器在连接时的问题。就这么的吧,到此为止。呵。。。。

#10


哦,你的方法是用rcc 单独编译成一个2进制包?
然后需要用到的时候regist进去用哇。 这样没问题是吧。。谢谢你的帖子我也学习了。呵呵。。

#11


本人小渣渣:也是出现这个问题,图片的打不开,需要重新导进去才可以的么?编译的时候出现楼主的那个错误

#1


你是不是手动删除了debug目录?

#2


把你的qrc文件命名发个图来看看。

#3


一个错误,求各位高手帮忙看一下。

#4


我没有删除debug文件夹。

qrc文件内容如下:
<RCC>
    <qresource prefix="/">
        <file alias="1">image/calligraphy01.jpg</file>
        <file alias="2">image/calligraphy02.jpg</file>
        <file alias="3">image/calligraphy03.jpg</file>
        <file alias="4">image/calligraphy04.jpg</file>
        <file alias="5">image/calligraphy05.jpg</file>
        <file alias="6">image/calligraphy06.jpg</file>
    </qresource>
</RCC>

#5


image/calligraphy01.jpg 弱弱的问下。。这下面的图片都存在么?

#6


应该存在的。。
 如果不存在应该报这个错。No rule to make target `image/cc.jpg', needed by `debug/qrc_rc.cpp'.  Stop.

如果你怀疑是因为图片太大的原因。可以考虑把图片还小点。。

#7


小图片确实是好用的。之前我试过。

#8


o ..确定大图片不行哇?。。一定要使用资源文件的形式来加载图片?
弱弱的问一下。为啥不直接从文件系统里去读取呢?

#9


没有,我用外部二进制文件的方式它是好的。只是遇到了这个问题,想求个解释。 http://qt-project.org/forums/viewthread/13409 我刚刚看到了一个帖子,描述的问题好像和我的差不多。那里面的兄弟给出的结论好像是MinGW编译器在连接时的问题。就这么的吧,到此为止。呵。。。。

#10


哦,你的方法是用rcc 单独编译成一个2进制包?
然后需要用到的时候regist进去用哇。 这样没问题是吧。。谢谢你的帖子我也学习了。呵呵。。

#11


本人小渣渣:也是出现这个问题,图片的打不开,需要重新导进去才可以的么?编译的时候出现楼主的那个错误