无法解决,因为它需要*.dll 我在QT和C++中部署第一个应用程序。

无法解决,因为它需要*.dll 我在QT和C++中部署第一个应用程序。,c++,qt,deployment,cgal,C++,Qt,Deployment,Cgal,当我双击调试文件夹的me exe时,我收到此消息 但我不需要这个.dll到我的应用程序。这次我添加了,但现在我正在尝试部署并查找此错误 我查看me project.pro,并对CGAL类型的所有行进行注释 当我评论其中一行时,我发现它有这个问题 LIBS += -L$$PWD/../../../libs/CGAL/bin LIBS += -L$$PWD/../../../libs/cgal4.9/auxiliary/gmp/lib 有谁能告诉我,我需要更多地检查什么,以及我是否需要检查Qt程序

当我双击调试文件夹的me exe时,我收到此消息

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

我查看me project.pro,并对CGAL类型的所有行进行注释

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

LIBS += -L$$PWD/../../../libs/CGAL/bin
LIBS += -L$$PWD/../../../libs/cgal4.9/auxiliary/gmp/lib
有谁能告诉我,我需要更多地检查什么,以及我是否需要检查Qt程序工具上的配置的任何部分


谢谢

您可以使用像dependency 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应该会删除依赖项。

它可能找不到QT libs依赖项的某些dll。 您需要将所有需要的dll部署到与可执行文件输出文件夹相同的文件夹中:

与.pro config中的此类配置类似:

 QMAKE_POST_LINK += windeployqt  $$DESTDIR/$${TARGET}.exe $$escape_expand(\n\t)
您需要配置windows PATH env变量以在其中添加所需的dll路径。

从获取DependencyWalker并打开.exe。它会告诉你所有你错过的依赖关系。 您必须将它们添加到安装包中才能部署应用程序