【问题标题】:Qt Creator and external libraries fail to link (HALCON)Qt Creator 和外部库无法链接(HALCON)
【发布时间】:2012-02-29 16:01:18
【问题描述】:

我已经在网上搜索了几个小时,但仍然没有想出解决我的问题的方法,所以我希望你们能帮助我。 我试图将外部库添加到我的 Qt 项目(4.7.4 32 位)。我正在使用 CV-Software Halcon (x86-win32) 并希望将示例测试项目 (matching.pro) 链接到 Halcon 的 lib 文件夹中的 halconcpp.lib 和 halcon.lib。所以我在 .pro 文件中添加了以下几行。

#includes
INCLUDEPATH += C:/"Program Files"/MVTec/HALCON/include
INCLUDEPATH += C:/"Program Files"/MVTec/HALCON/include/cpp
#libs
LIBS            += C:/"Program Files"/MVTec/HALCON/lib/x86-win32/halconcpp.lib
LIBS            += C:/"Program Files"/MVTec/HALCON/lib/x86-win32/halcon.lib

但不幸的是编译过程仍然会产生链接错误:

release/qhalconwindow.o:qhalconwindow.cpp:(.text+0x3a): undefined reference to `_imp___ZN6Halcon18set_window_extentsElllll'
release/qhalconwindow.o:qhalconwindow.cpp:(.text+0x67): undefined reference to `_imp___ZN6Halcon12close_windowEl'
release/qhalconwindow.o:qhalconwindow.cpp:(.text+0xbf): undefined reference to `_imp___ZN6Halcon12close_windowEl'
release/qhalconwindow.o:qhalconwindow.cpp:(.text+0x10b): undefined reference to `_imp___ZN6Halcon12close_windowEl' 
etc...

所以我认为它与 qmake 的设置有关,尤其是它链接到 halconcpp.lib 的方式。 而且因为在编译器设置方面我是个菜鸟,所以我唯一的希望就是你的知识。

感谢您抽出宝贵时间帮助我! :) 我非常感谢。 问候

【问题讨论】:

    标签: qt linker 32-bit qmake


    【解决方案1】:

    问题在于halconlibsMingw 不兼容,它们仅与Visual C++ 编译器兼容。

    当我切换到带有 Qt 插件的 VisualStudio 时,一切都完美无缺。

    我希望这可以帮助任何遇到这个问题的人。

    【讨论】:

      【解决方案2】:

      您可以做一件事,而不是手动将外部库添加到 .pro 文件。

      右键单击您的主项目,然后选择“添加库”选项然后它会询问

      1. 外部库
      2. 内部库
      3. 系统库

      然后选择 External library ,剩下的一切都由 Qt Creator 完成,即它会自动添加 .pro 文件的路径并将库链接到您的项目。

      【讨论】:

      • 这并没有什么不同:S。仍然是同样的问题。它是否可能与 qmake 以及它如何尝试链接到库有关。我的意思是,你知道我应该仔细研究的任何命令或标志吗?
      • 它可能与 qmake 有关,但如果我们按照上述步骤操作,qt creator 将自动链接库。就我而言,它有效..
      猜你喜欢
      • 1970-01-01
      • 2023-03-25
      • 2022-10-07
      • 2011-02-24
      • 1970-01-01
      • 2015-01-18
      • 2019-08-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多