RCC:“ resource.qrc”中的错误:找不到文件“ * .png”

时间:2018-07-05 15:51:44

标签: qt docker makefile qt5 mingw-w64

我在docker容器(archlinux)上使用qt的rcc编译资源文件时遇到问题。我正在尝试为mingw --host计算机进行交叉编译

$ cat resource.qrc
<!DOCTYPE RCC><RCC version="1.0">
    <qresource >
        <file>images/small.png</file>
    </qresource>
</RCC>
$ ls -lR
.:
total 8
drwxr-xr-x 2 devel devel 4096 Jul  5 15:32 images
-rw-r--r-- 1 devel devel  106 Jul  5 15:35 resource.qrc

./images:
total 20
-rw-r--r-- 1 devel devel 15511 Apr 28  2010 small.png
$ rcc resource.qrc 
RCC: Error in 'resource.qrc': Cannot find file 'images/small.png'

同一命令在我的OSX主机上可以正常工作。 ((

任何帮助将不胜感激

1 个答案:

答案 0 :(得分:5)

我遇到了类似的问题;事实证明,这是几个因素的组合。 Qt 5.10+想要使用statx系统调用,但是:

  • 在版本18.04之前的Docker的libseccomp的系统调用白名单中未包含此系统调用(因此您必须提供自己的seccomp配置)
  • 即使使用Docker 18.04或更高版本,您仍然需要libseccomp的最新版本(2.3.3或更高版本,例如,当前Debian或Ubuntu版本未附带),因为较旧的版本无法理解statx白名单中的syscall条目。

如果不能升级这些组件中的任何一个,则如果您信任Docker容器内部的构建环境,可以尝试以下变通方法:将参数--security-opt seccomp:unconfined添加到docker命令行中。 / p>

进一步阅读的资源: