无法解决,因为它需要* .dll

时间:2017-04-07 08:00:24

标签: c++ qt deployment cgal

我很想在Qt和C ++中部署第一个应用程序。

当我在调试文件夹的exe文件中执行DoubleClick时,我收到了此消息。

Error to deploy qt app

但我不需要这个.dll给我的应用程序。我这次添加了,但现在我正在尝试部署并发现此错误。

我查看了project.pro,并对所有类型为CGAL的行进行了评论。

当我评论其中一行时,我发现它有这个问题。

LIBS += -L$$PWD/../../../libs/CGAL/bin
LIBS += -L$$PWD/../../../libs/cgal4.9/auxiliary/gmp/lib

任何人都可以告诉我,我需要查看更多内容以及如果需要检查我的Qt程序工具的任何配置部分。

由于

3 个答案:

答案 0 :(得分:1)

可能它没有找到一些QT libs的依赖关系。 您需要将所有需要的dll部署到可执行输出文件夹中:

像.pro config中的这样配置:

 QMAKE_POST_LINK += windeployqt  $$DESTDIR/$${TARGET}.exe $$escape_expand(\n\t)

您需要配置Windows PATH env变量以在其中添加所需的dll路径。

答案 1 :(得分:0)

您可以使用依赖于walker的工具来检查您的exe需要CGAL dll运行的原因。

可能是因为直接依赖:

app.exe -> CGAL-vc140(...).dll

或间接的:

app.exe -> a.dll -> b.dll -> ... -> CGAL-vc140(...).dll

在第一种情况下,你应该在.pro a .pri文件中有一行,如下所示:

LIBS += -lCGAL-vc140(...)

在第二种情况下:

LIBS += -la

删除一行或另一行并重建(重新运行qmake)应删除依赖项。

答案 2 :(得分:0)

http://www.dependencywalker.com获取DependencyWalker并打开您的.exe。它会告诉你你想念的所有依赖项。 您必须将它们添加到您的安装程序包中才能部署您的应用程序。