Eclipse CDT / Qt:有一个Qt Gui项目依赖于工作区中的另一个C ++项目

时间:2011-04-07 16:54:44

标签: c++ qt eclipse-cdt

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

但是,当我尝试在MyGUI中使用MyAlgorithm中的类时,一切都会停止...虽然我在MyGUI中引用了MyGgorithm的所有可能的对话框和地方,我可以想到[1],构建项目仍然失败:

  

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

我在MyGUI中引用MyAlgorithm的地方列表(全部位于“MyGUI”的项目属性中):

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

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

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

感谢您的帮助!

1 个答案:

答案 0 :(得分:5)

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

添加库

使用语法添加任何lib:

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