【发布时间】:2012-12-17 10:18:10
【问题描述】:
我是 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的qt版本吗?如果是这样,您可能需要在此行中添加
network->greaterThan(QT_MAJOR_VERSION, 4): QT += widgets。 -
@d_vj 我使用的 QT 大于 4,但我只是尝试了这个建议,但仍然是同样的问题
-
问题可能是目录
QT Projects包含空格。尝试将其重命名为例如QtProjects。见stackoverflow.com/questions/14095889/… -
@Chowza 请尝试医生的建议。这是很有可能的。
-
@Chowza 我假设您已经完成了明显的操作并重新运行 qmake?当
cl运行时,您的构建甚至不会尝试引入网络库。
标签: c++ qt compiler-errors spaces