1

我正在尝试将我的大型项目分解为子目录并将其作为单个可执行文件运行。但是当我执行代码时,它给了我以下错误:

  1. qtmain_win.cpp:-1: 错误:未定义的对 `qMain(int, char**)' 的引用
  2. collect2: ld 返回 1 个退出状态

任何人都可以解释这些错误背后的原因是什么......

提前致谢!!!!

我制作了一个 .pro 文件,其中包含所有子目录的路径。然后每个目录都有自己的 .pro 和 .pri 文件,其中一个目录在所有目录中都是通用的。这个目录是作为一个库。然后是 main.pro 和 main.cpp。我在这里粘贴所有三个文件:项目的专业文件:

# build all components recursive

TEMPLATE = subdirs

######## normal build process ########
#
# Make sure your Main.pro is in the last line to ensure correct linking!
#
SUBDIRS =D:/MultiFuncTester/Modes/Start/Build/Start.pro \
     D:/MultiFuncTester/Modes/MainMenu/Build/MainMenu.pro \
     D:/MultiFuncTester/Modes/Solar/Build/Solar.pro \
     D:/MultiFuncTester/Modes/Main/Build/Main.pro\

配置 += 已订购

Main.pro:

# ################ include pri file #################
!include("Main.pri"):error("Main.pri not found")


# ################ override some pri settings #################
TEMPLATE = app
TARGET = MultiFuncTester
CONFIG =-static
QT +=core\
gui\


# ################ own sources #################
INCLUDEPATH +=D:/MultiFuncTester/
SOURCES +=../Sources/Main.cpp

项目的 pri 文件,在作为 lib 的所有目录中通用

######################
# common stuff for all components
######################

TEMPLATE = lib

CONFIG += static \
         warn_on \
         qt \

QT += gui \
      core \


INCLUDEPATH +=D:/MultiFuncTester/Modes \
DEPENDPATH +=D:/MultiFuncTester/Modes \

CONFIG += debug_and_release
CONFIG += build_all



CONFIG(debug, debug|release) {
CONFIG_SUFFIX = dbg
} else {
CONFIG_SUFFIX = rel
DEFINES += QT_NO_DEBUG \
          QT_NO_DEBUG_OUTPUT \
         NDEBUG
CONFIG(gcov) {
    QMAKE_CXXFLAGS_RELEASE += -fprofile-arcs -ftest-coverage
    QMAKE_LFLAGS_RELEASE += -fprofile-arcs
    QMAKE_CXXFLAGS_RELEASE -= -O2
    QMAKE_CXXFLAGS_RELEASE += -O0
}
}

CONFIG(crosstgt) {
#To be able to build Target run qmake as follows:
qmake CONFIG+=crosstgt
CONFIG_SUFFIX = $${CONFIG_SUFFIX}_tgt
DEFINES += TARGET_BUILD
}

OBJECTS_DIR = obj_$${CONFIG_SUFFIX}
MOC_DIR = moc_$${CONFIG_SUFFIX}
DESTDIR = lib_$${CONFIG_SUFFIX}
4

0 回答 0