1

大きなプロジェクトをサブディレクトリに分割して、単一の実行可能ファイルとして実行しようとしています。しかし、コードを実行すると、次のエラーが発生します。

  1. qtmain_win.cpp:-1:エラー: `qMain(int、char **)'への未定義の参照
  2. collect2:ldが1つの終了ステータスを返しました

誰かがこれらのエラーの背後にある理由を説明できますか...

前もって感謝します!!!!

サブディレクトリへのすべてのパスが含まれている.proファイルを作成しました。次に、各ディレクトリには、すべてのディレクトリに共通のディレクトリを持つ独自の.proファイルと.priファイルがあります。このディレクトリはlibとして作成されます。次に、main.proとmain.cppを持つメインがあります。ここに3つのファイルすべてを貼り付けています:プロジェクトのプロファイル:

# 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\

CONFIG+=注文済み

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

libとして作成されたすべてのディレクトリに共通のプロジェクトのpriファイル

######################
# 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