簡體   English   中英

QApplication:在Windows上沒有Qt5和qtsingleapplication這樣的文件或目錄

[英]QApplication: No such file or directory with Qt5 and qtsingleapplication on windows

自從我在QT 5.0.1(來自http://qt-project.org/downloads )和模塊qtsingleapplication(最后一個版本來自http://qt.gitorious.org/qt-solutions )上移動后,我無法在Windows上編譯)。

在Linux下,編譯仍然有效(Qt 4.8.2)

我不明白為什么。 這是qtcreator的詳細輸出。

09:57:58:Exécutiondesétapespourle projet Wahoo ...
09:57:58:配置inchangée,étapeQMake炒菜。
09:57:58:Débute:“D:\\ Qt \\ Qt5.0.1 \\ Tools \\ MinGW \\ bin \\ mingw32-make.exe”

D:/Qt/Qt5.0.1/Tools/MinGW/bin/mingw32-make -f Makefile.Release
mingw32-make [1]:進入目錄'C:/ Documents and Settings / crazy / Bureau / Kowmedia.Wahoo / src / Build-Release / release'

克++ -c -pipe -fno-保持-直列DLLEXPORT -O2 -frtti -Wall -Wextra -fexceptions -mthreads -DUNICODE -DQT_NO_DEBUG -DQT_WEBKIT_LIB -DQT_WIDGETS_LIB -DQT_XML_LIB -DQT_NETWORK_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DQT_NEEDS_QMAIN -I。 ... \\ wahoo -I“.... \\ wahoo \\ qtsingleapplication \\ src”-I“D:\\ Qt \\ Qt5.0.1 \\ 5.0.1 \\ mingw47_32 \\ include”-I“D:\\ Qt \\ Qt5.0.1 \\ 5.0.1 \\ mingw47_32 \\ include \\ QtWebKit“-I”D:\\ Qt \\ Qt5.0.1 \\ 5.0.1 \\ mingw47_32 \\ include \\ QtWidgets“-I”D:\\ Qt \\ Qt5.0.1 \\ 5.0.1 \\ mingw47_32 \\ include \\ QtXml“-I”D:\\ Qt \\ Qt5.0.1 \\ 5.0.1 \\ mingw47_32 \\ include \\ QtNetwork“-I”D:\\ Qt \\ Qt5.0.1 \\ 5.0.1 \\ mingw47_32 \\ include \\ QtGui“ - 我“D:\\ Qt \\ Qt5.0.1 \\ 5.0.1 \\ mingw47_32 \\ include \\ QtCore” - 我“釋放”-I“。” -一世”。” -I“D:\\ Qt \\ Qt5.0.1 \\ 5.0.1 \\ mingw47_32 \\ mkspecs \\ win32-g ++”-o release \\ qtsingleapplication.o .... \\ wahoo \\ qtsingleapplication \\ src \\ qtsingleapplication.cpp

克++ -pipe -fno-保持-直列DLLEXPORT -O2 -frtti -Wall -Wextra -fexceptions -mthreads -DUNICODE -DQT_NO_DEBUG -DQT_WEBKIT_LIB -DQT_WIDGETS_LIB -DQT_XML_LIB -DQT_NETWORK_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DQT_NEEDS_QMAIN ../ .. /wahoo/qtsingleapplication/src/qtsingleapplication.cpp -o ../../wahoo/qtsingleapplication/src/QtSingleApplication

在../../wahoo/qtsingleapplication/src/qtsingleapplication.cpp:42:0中包含的文件中:
../../wahoo/qtsingleapplication/src/qtsingleapplication.h:44:24:致命錯誤:QApplication:沒有這樣的文件或目錄

編譯終止。

<builtin>:目標'../../wahoo/qtsingleapplication/src/QtSingleApplication'的配方失敗
mingw32-make [1]:** [../../wahoo/qtsingleapplication/src/QtSingleApplication]錯誤1
mingw32-make [1]:離開目錄'C:/ Documents and Settings / crazy / Bureau / Kowmedia.Wahoo / src / Build-Release / release'
makefile:34:目標'發布'的配方失敗
mingw32-make:** [發布]錯誤2
09:57:59:Le processus“D:\\ Qt \\ Qt5.0.1 \\ Tools \\ MinGW \\ bin \\ mingw32-make.exe”s'estterminéavecle code 2。
構建/部署項目Wahoo時出錯(工具包:Desktop Qt 5.0.1 MinGW 32bit)Lors de l'exécutiondel'étape“Make”

每個文件都是禮物,選項-I“D:\\ Qt \\ Qt5.0.1 \\ 5.0.1 \\ mingw47_32 \\ include \\ QtWidgets”。 如果我從源代碼瀏覽,QtCreator可以找到該文件。 所以我有點失落......

先感謝您

... QApplication:沒有這樣的文件或目錄......

嘗試添加

QT += widgets

在.pro文件中。 我有相同的消息......看起來從5.0基於Qt的應用程序默認情況下不喜歡小部件...是否所有人都轉向QML?

PS:現在,作為此任務的下一個點 - 我找不到QPrinter)

它表明您在IDE中配置了錯誤的庫搜索路徑。 找不到QT SDK庫。 您是否使用QT工具和/或安裝手冊安裝了所有內容?

“QApplication”是頭文件之一,由#include <qapplication>包含。 根據您安裝的方式和SDK,它可能會駐留在例如:

諾基亞SDK與Carbide / Eclipse:

C:\????\Nokia\devices\Nokia_Symbian_Belle_SDK_v1.0\epoc32\include\mw\qtgui

QtCreator和QT SDK安裝程序:

C:\????\QtSDK\Symbian\SDKs\SymbianSR1Qt474\include\QtGui

哪里???? 代表您在安裝工具時選擇的位置。 首先,檢查一下你有文件。

你有它,如果它沒有損壞,如果你沒有弄錯了驅動器等,那么檢查你的QT項目文件,檢查你是否真的有所有的導入和包括正確設置。 也許你忘了一些“\\ include”后綴,或者你有一個太多了? LINUX和WIN32構建配置通常在許多設置中有所不同,很容易意外地混合一些設置路徑的條件

編輯:

感謝更新! 路徑確實看起來不錯

我已經重新閱讀了你的錯誤日志,一切都很好,直到我重新格式化了一點。 突然出現了一些奇怪的東西。 請查看第一個G ++調用並將其與第二個失敗的調用進行比較。

第二個缺少所有路徑設置。 但這很正常。 第一個執行編譯,第二個是鏈接。 可以通過g++ -cg++區分“-c”參數。 但是看看傳遞給G ++的FILES。

第一個將qtsingleapplication.cpp編譯為qtsingleapplication.o ,而第二個嘗試將qtsingleapplication.cpp鏈接到-o QtSingleApplication

我覺得:

  • 第二行忘記參數“-c”和所有-I路徑
  • 或者第二行有無效的輸入文件,應該有qtsingleapplication.o而不是.cpp

我猜你在你的qtprojs中確實有一些開關/有條件搞砸了:win32的情況..對不起我不能告訴你更多,此時,我不得不嘗試自己編譯項目並調查makefile / qtprojs。 嘗試回溯如何生成第二行以及如何使用makefile / qtproj變量,然后對項目設置進行雙重甚至三重檢查。 不是在IDE中,而是在使用的實際項目文件中。 IDE有時會隱藏一些條件和設置,尤其是QT Creator喜歡這樣做。

我也遇到過這個問題。

一旦我加入

QT += widgets

像Denjs建議的那樣,我還需要補充:

INCLUDEPATH += $$PWD/../qtsingleapplication-2.6-opensource/src/

這是QtSingleApplication源文件的位置。

我是Qt的新手。 當我嘗試第一個程序時,在qmake -project qmake hello.pro之后

'make'后出現錯誤:'QApplication'文件未找到

但是使用相同的代碼,它可以在Qt Creator上成功調試。 當我想釋放它時發生同樣的錯誤。

解決方案是修改.pro文件。 添加以下兩行:

QT + =核心gui

greaterThan(QT_MAJOR_VERSION,4):QT + =小部件

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM