2

私はQTプログラミングに不慣れで、これは私を困惑させました。この質問に対する回答を検索しましたが、見つけた回答で問題が解決しませんでした。一般的に、私がオンラインで見つけた答えはQT += network、私の.proファイルに追加することです。ただし、これはすでに.proファイルにあり、修正されていません。

助言がありますか?

.proファイル

QT       += core gui network

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = firstproject
TEMPLATE = app


SOURCES += main.cpp\
    mainwindow.cpp \
IB_API_with_Qt/src/IBClient.cpp \
IB_API_with_Qt/src/EQtClientSocket.cpp \
IB_API_with_Qt/src/EClientSocketBase.cpp

HEADERS  += mainwindow.h \
IB_API_with_Qt/include/TwsSocketClientErrors.h \
IB_API_with_Qt/include/ScannerSubscription.h \
IB_API_with_Qt/include/OrderState.h \
IB_API_with_Qt/include/Order.h \
IB_API_with_Qt/include/IBClient.h \
IB_API_with_Qt/include/Execution.h \
IB_API_with_Qt/include/EWrapper.h \
IB_API_with_Qt/include/EQtClientSocket.h \
IB_API_with_Qt/include/EClientSocketBaseImpl.h \
IB_API_with_Qt/include/EClientSocketBase.h \
IB_API_with_Qt/include/EClient.h \
IB_API_with_Qt/include/Contract.h \
IB_API_with_Qt/include/CommonDefs.h

FORMS    += mainwindow.ui

エラーは、次のように単純に記述されているヘッダーファイルで発生します。

#include <QAbstractSocket>

そして、これはコンパイル出力が私に提供するものです:

21:36:05: Running steps for project firstproject...
21:36:05: Configuration unchanged, skipping qmake step.
21:36:05: Starting: "C:\Qt\Qt5.0.0\Tools\QtCreator\bin\jom.exe" 
    C:\Qt\Qt5.0.0\Tools\QtCreator\bin\jom.exe -f Makefile.Debug
    cl -c -nologo -Zm200 -Zc:wchar_t -Zi -MDd -GR -W3 -w34100 -w34189 -EHsc -DUNICODE -DWIN32 -DQT_QML_DEBUG -
    DQT_DECLARATIVE_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -I"..\..\..
    \..\..\Qt\Qt5.0.0\5.0.0\msvc2010\include" -I"..\..\..\..\..\Qt\Qt5.0.0\5.0.0\msvc2010\include\QtWidgets" -I"..\..\..
    \..\..\Qt\Qt5.0.0\5.0.0\msvc2010\include\QtGui" -I"..\..\..\..\..\Qt\Qt5.0.0\5.0.0\msvc2010\include\QtCore" -I"debug"
    -I"." -I"." -I"..\..\..\..\..\Qt\Qt5.0.0\5.0.0\msvc2010\mkspecs\win32-msvc2010" -Fodebug\ @C:\Users\Terence\AppData
    \Local\Temp\mainwindow.obj.5272.47.jom
    mainwindow.cpp
    c:\users\terence\documents\qt projects\firstproject\IB_API_with_Qt/include/IBClient.h(6) : fatal error C1083: Cannot 
    open include file: 'QAbstractSocket': No such file or directory
    jom: C:\Users\Terence\Documents\QT Projects\firstproject-build-Desktop_Qt_5_0_0_MSVC2010_32bit_SDK-Debug
    \Makefile.Debug [debug\mainwindow.obj] Error 2
    jom: C:\Users\Terence\Documents\QT Projects\firstproject-build-Desktop_Qt_5_0_0_MSVC2010_32bit_SDK-Debug\Makefile 
    [debug] Error 2
21:36:08: The process "C:\Qt\Qt5.0.0\Tools\QtCreator\bin\jom.exe" exited with code 2.
    Error while building/deploying project firstproject (kit: Desktop Qt 5.0.0 MSVC2010 32bit (SDK))
    When executing step 'Make'
4

1 に答える 1

1

プロジェクトパスにスペースまたは非ASCII文字が含まれていると、Qtビルドが失敗する場合があります。

ドキュメントには、スペースを含むディレクトリにQtをインストールするべきではないと記載されていますが、より適切にドキュメント化して、プロジェクトパスがビルドプロセスにも影響を与える可能性があることを明示的に警告する必要があります。

あなたの場合、インクルードパスはプロジェクトパス(たとえば-I"..\..\..\..\..\Qt\Qt5.0.0\5.0.0\msvc2010\include\QtGui)を基準にして設定されました。プロジェクトパスにはスペースが含まれていたため、clヘッダーを見つけることができませんでした。

関連する質問:
プロセスqmake.exeはコード2で終了しました-QtとQtCreatorで初めて

于 2013-01-03T06:45:47.100 に答える