【问题标题】:QtCreator: How to compile external source filesQtCreator:如何编译外部源文件
【发布时间】:2013-12-06 10:29:19
【问题描述】:

我有我的 C++ 项目文件,想为这些源文件创建一个额外的图形用户界面。我正在使用 Windows、MVSC2012 和 Qt 5.1.1 和 Qt Creator 2.8.1。

这就是我所拥有的:

我的 QtCreator 项目文件夹,包括以下自动生成的文件

c:/creatorProject/creatorProject/main.cpp
c:/creatorProject/creatorProject/mainwindow.cpp
c:/creatorProject/creatorProject/mainwindow.h
c:/creatorProject/creatorProject/mainwindow.ui
c:/creatorProject/creatorProject/creatorProject.pro
c:/creatorProject/creatorProject/creatorProject.pro.user

此外,我将带有“逻辑”的源文件放在单独的文件夹中,例如

c:/programLogic/myFunctions.h
c:/programLogic/myFunctions.cpp

所以我只想将这些文件添加到我的 QtCreator 项目中,以便我可以例如包含“myFunctions.h”并使用它。

我的尝试:我使用Qt Creator并分别添加myFunctions.hmyFunctions.cpp通过使用“creatorProject>>右键>>添加现有文件..”。之后我的 creatorProject.pro 看起来像这样:

[...]
SOURCES += main.cpp\
        mainwindow.cpp \
    ../../programLogic/myFunctions.cpp

HEADERS  += mainwindow.h \
    ../../programLogic/myFunctions.h

对我来说完全没问题。 Qt Creator 甚至在项目资源管理器中显示这些文件!但是我在 mainwindow.cpp 中使用 myFunctions.h 时遇到问题。

#include "myFunctions.h" // Include can not be found
#include "../../programLogic/myFunctions.h" // Include is found but I get linker errors since myFunctions.cpp is not compiled?!

我的设置有什么问题?

【问题讨论】:

    标签: c++ qt qt-creator


    【解决方案1】:

    您还需要在.pro 文件中添加INCLUDEPATH

    类似:

    INCLUDEPATH += "C:/programLogic"
    

    【讨论】:

    • 绝对路径和相对路径如 INCLUDEPATH += "../../programLogic/"(甚至没有'"'-sign)都不能解决这个问题。"#include " 或 #include "myFunctions.h" 导致“没有这样的文件或目录”
    • @Anonymous 尝试删除现有的 .pro.user 文件,然后让它再次解析 pro 文件。此外,显示您的整个 .pro 文件内容。
    • 另外,删除所有以前的构建文件。
    • 你的头文件中有包含保护吗?尝试手动删除构建文件夹并重新构建。您现在收到的确切错误消息是什么?
    • 好的,“尝试手动删除构建文件夹并重新构建。” -> 这就是解决方案。每当你改变某事。在 *.pro 文件中,您必须手动删除构建文件夹。在 Qt Creator 中这样做是行不通的(“创建新的一切”)。
    猜你喜欢
    • 2013-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多