【发布时间】:2013-02-12 03:47:50
【问题描述】:
所以,我刚刚做了一个标准的QtQuick 2 应用程序,它有默认的Recangle、Text 和MouseArea。所以,我只是尝试在发布模式下编译应用程序,看看它会生成什么文件,然后我尝试打开应用程序,结果发生了:
当我调整它的大小时,我可以看到空白:
但是在调试中一切正常:
我正在使用 Qt 5.0.1 和 QtQuick2
更新
因此,通过Dependency Walker 运行它后,似乎缺少三个文件:qt5quick.dll、qt5gui.dll 和qt5core.dll。 我必须从某个地方手动添加它们吗?
当前目录结构为:
`test-build-Desktop_Qt_5_0_1_MSVC2010_32bit-Release/release
|+qml
|+test
|-main.qml
|-main.obj
|-moc_qtquick2applicationviewer.cpp
|-moc_qtquick2applicationviewer.obj
|-qtquick2applicationviewer.obj
|-test.exe
|-test.exe.embed.manifest
注意:我按照Nemanja Boric's answer 中的建议从父目录粘贴了qml 目录,但这并没有解决问题! :(
另外,我的印象是,没有任何源代码(可能除了 JavaScript)不会公开随应用程序一起分发,而是以某种方式编译或打包在应用程序中(注意 @ 987654334@文件和qml目录)?
更新 2
从 Qt 5 Creator 内部运行时,应用程序运行良好:
Starting [...]\test-build-Desktop_Qt_5_0_1_MSVC2010_32bit-Release\release\test.exe...
QOpenGLShader::link: "(41,18): warning X3206: implicit truncation of vector type
"
[...]\test-build-Desktop_Qt_5_0_1_MSVC2010_32bit-Release\release\test.exe exited with code 0
嗯,除了那个尴尬的警告......
【问题讨论】:
-
可能有一些未初始化的变量或缓冲区溢出。如果您使用的是 Linux,请在上面安装 valgrind。
-
运行 test.exe 时问题是否相同,还是现在报告缺少 dll 问题?
-
@NemanjaBoric 不,它实际上只是 启动 并且看起来像第二张图片。这毫无意义……
-
你确定你运行的是正确的版本(我假设你是,但我看到可执行文件的名称与清单文件不同,所以它可能是一些旧文件?)
-
哦 facepalm 不,我正在阅读一些名为“thepalace”的古老聊天内容,只是不假思索地输入了它,哈哈。其实是
test.exe.embed.manifest