【问题标题】:Eclipse CDT/Qt: have a Qt Gui project depend on another C++ project in the workspaceEclipse CDT/Qt:有一个 Qt Gui 项目依赖于工作区中的另一个 C++ 项目
【发布时间】:2011-07-31 21:08:36
【问题描述】:

我使用 Eclipse/CDT 在 Eclipse C++ 项目(“MyAlgorithm”)中实现了一个相当复杂的算法。为了能够可视化算法的步骤,我想创建一个简单的 Qt GUI。我已经下载并安装了 Qt Eclipse 集成,并创建了一个带有主窗口的 Qt 项目(“MyGUI”)。一切都按照应有的方式编译 - 各个组件都已就位。

但是,当我尝试在 MyGUI 中使用 MyAlgorithm 中的类时,一切都停止了...仍然失败:

main.cpp:5:致命错误:MyAlgorithmClass.h:没有这样的文件或目录

我在 MyGUI 中引用了 MyAlgorithm 的地方列表(都在“MyGUI”的项目属性中):

  • C/C++ 包含路径和符号(使用“从工作区添加包含路径...”)
  • C/C++ 项目路径(选项卡“项目”,选中“构建路径上的必需项目”列表中的“MyAlgorithm”项目
  • 项目参考,检查列表“'MyGUI'的项目参考”中的“MyAlgorithm”项目

虽然构建过程失败,但当我尝试将“MyAlgorithmClass.h”包含在“MyGUI”项目中时,Eclipse/CDT 自动完成功能确实表明存在“MyAlgorithmClass.h”。我还注意到更改项目设置(如上面列表中所述)不会触发 Makefile 中的任何更改。

Qt Eclipse 集成可能会阻止 CDT 相应地更新 Makefile,从而导致构建过程因缺少编译器/链接器的参数而失败?

感谢您的帮助!

【问题讨论】:

    标签: c++ qt eclipse-cdt


    【解决方案1】:

    简短的回答是 QT-Eclipse 集成无法正常工作。您需要为您的项目手动更新 QT .pro 文件:

    添加库:

    使用语法添加任何库:

    LIBS += -L<Full path to library include directory>
    LIBS += -l<Eclipse Artifact>
    

    示例:

    LIBS += -LC:/MyEclipseWorkspace/Project1/Debug
    LIBS += -lProject1
    

    这会将 libProject1.a 链接到您的 Eclipse 项目中。

    添加包含文件:

    INCLUDEPATH += <Absolute or Relative Path to include location>
    

    示例:

    INCLUDEPATH += src ../Project2/include C:/dev/boost_1_46_1
    

    HTH

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-09-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-19
      • 2020-08-16
      相关资源
      最近更新 更多