Qt,OpenCv静态编译的可执行文件仍然包含依赖项

时间:2017-11-22 19:45:34

标签: c++ qt static dependencies static-libraries

我正在尝试使用Qt Creator构建一个使用Qt和OpenCv的独立可执行文件 - 所以我尝试静态编译。我构建了一个静态版本的Qt。我构建了OpenCv的静态版本。我将我的Qt版本设置为静态构建版本。我将构建工具包设置为这个新的静态构建。在我的.pro文件中,我把...

INCLUDEPATH += C:\opencv-build\install\include

CONFIG += static

LIBS += C:\opencv-build\lib\libopencv_core320.dll.a
LIBS += C:\opencv-build\lib\libopencv_highgui320.dll.a
LIBS += C:\opencv-build\lib\libopencv_imgcodecs320.dll.a
LIBS += C:\opencv-build\lib\libopencv_imgproc320.dll.a
LIBS += C:\opencv-build\lib\libopencv_features2d320.dll.a
LIBS += C:\opencv-build\lib\libopencv_calib3d320.dll.a

但是当我尝试启动结果.exe时,我收到以下错误:

程序入口点_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findEPKcjj无法位于动态链接库libstdc ++ - 6.dll

我使用Dependency Walker来分析exe:显然它仍然需要大量的dll(例如libopencv_core320.dll和KERNEL32.DLL(但没有Qt库))。我究竟做错了什么?我按照列出here列出的所有步骤。这是我第一次尝试静态构建,所以我不清楚如何进一步解决这个问题。

0 个答案:

没有答案