我有一个简单的 QT subdir 项目,其结构为
TestProject/
TestProject.pro
Subdir1/
Subdir1.pro
sources/
main.cpp
Subdir2/
Subdir2.pro
headers/
mainwindow.h
sources/
mainwindow.cpp
这是我的 .pro 文件
测试项目
TEMPLATE = subdirs
SUBDIRS += \
Subdir1 \
Subdir2
子目录1.pro
SOURCES += \
main.cpp
子目录2.pro
QT += sql
SOURCES += \
mainwindow.cpp \
HEADERS += \
mainwindow.h \
当我尝试运行该应用程序时,出现以下错误:
(.text+0x18):-1: error: undefined reference to `main'
我在 Ubuntu 12.04 上使用 Qt Creator IDE。
我花了所有的时间试图弄清楚这一点,为了让 Qt 能够构建项目,我必须在 .pro 文件中放入什么?
提前致谢
最佳答案
看起来您要做的是将所有源文件构建到一个可执行文件中。这不是 subdirs 模板的用途,它用于创建构建多个不同目标的单个 Makefile(例如两个不同的可执行文件,或者一个可执行文件和一个库)。
您可能想要的是只有一个 .pro 文件,例如SOURCES = Subdir1/mainwindow.cpp Subdir1/main.cpp
或者您可以将 subdir pro 文件制作成(按照惯例).pri 文件。然后在顶层,您只需执行以下操作:
include(Subdir1/Subdir1.pri)
include(Subdir2/Subdir2.pri)
关于c++ - QT Subdir - 未定义对 main 的引用 - 错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12177241/