项目中创建了一个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>
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.
如果你怀疑是因为图片太大的原因。可以考虑把图片还小点。。
如果不存在应该报这个错。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进去用哇。 这样没问题是吧。。谢谢你的帖子我也学习了。呵呵。。
然后需要用到的时候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>
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.
如果你怀疑是因为图片太大的原因。可以考虑把图片还小点。。
如果不存在应该报这个错。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进去用哇。 这样没问题是吧。。谢谢你的帖子我也学习了。呵呵。。
然后需要用到的时候regist进去用哇。 这样没问题是吧。。谢谢你的帖子我也学习了。呵呵。。
#11
本人小渣渣:也是出现这个问题,图片的打不开,需要重新导进去才可以的么?编译的时候出现楼主的那个错误