QT5将项目名称与每个源文件名称相关联,编译错误

时间:2013-02-27 20:36:38

标签: c++ qt compiler-errors qt5

我想开始使用QT。我用QT创建者下载了QT5 MINGW编译器,我正在尝试构建名为 仿射 的预附加示例,问题在于QT5我认为每个源都嵌入了项目名称文件因此给出错误,找不到文件。有些相似的东西

    :-1: error: ..affinemain.cpp: No such file or directory

虽然文件名只是

    main.cpp 

我不知道如何修复它。我在网上搜索了很多,但找不到任何有用的东西。 我甚至尝试从命令提示符编译,但我不熟悉命令提示符编译,因为我是QT的新手,之前我完全使用IDE在visual studio和eclipse for java中开发,所以我不知道make文件和编译器命令行参数。 可以帮我解决一下这个问题,请问为什么编译器附带项目名称和源文件名? 提前致谢

2 个答案:

答案 0 :(得分:2)

我遇到了同样的问题,我的解决方案可能对您有帮助。

我现在正在使用Qt5.0.1,并且有两个发行版在Windows上使用它:Qt5.0.1-mingw和Qt5.0.1-msvc2010。 我不得不使用mingw,我的设置出现问题,路径中的“/”被忽略。

所以根据Qt Creator,调用编译器来处理文件mainwindow.cpp并将此文件传递给它

g++ /*truncated*/ ..\qt-example\mainwindow.cpp

以下是完整的编译器输入:

g++ -c -pipe -fno-keep-inline-dllexport -g -frtti -Wall -Wextra -fexceptions -mthreads -DUNICODE -DQT_QML_DEBUG -DQT_DECLARATIVE_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DQT_NEEDS_QMAIN -I..\qt-example -I"..\..\..\..\..\..\Qt\Qt5.0.1\5.0.1\mingw47_32\include" -I"..\..\..\..\..\..\Qt\Qt5.0.1\5.0.1\mingw47_32\include\QtWidgets" -I"..\..\..\..\..\..\Qt\Qt5.0.1\5.0.1\mingw47_32\include\QtGui" -I"..\..\..\..\..\..\Qt\Qt5.0.1\5.0.1\mingw47_32\include\QtCore" -I"debug" -I"." -I"." -I"..\..\..\..\..\..\Qt\Qt5.0.1\5.0.1\mingw47_32\mkspecs\win32-g++" -o debug\mainwindow.o ..\qt-example\mainwindow.cpp

产生了错误。

g++.exe: error: ..qt-examplemainwindow.cpp: No such file or directory
g++.exe: fatal error: no input files
compilation terminated.

因此,我们可以看到编译器忽略了“\”,文件名与目录名合并。

该问题的解决方案是使用的工具 - MinGW(GCC和Binutils的极简主义端口)。还有MSYS - 一系列GNU实用程序,如bash,make,gawk和grep,以允许构建依赖于传统UNIX工具的应用程序和程序。在我们的例子中 - g ++。

MSYS不附带Qt5.0.1-mingw且g ++没有使用它,但在PATH环境变量中使用MSYS会破坏系统。

我安装的git scm的MSYS is used,所以我的路径包含与git捆绑在一起的MSYS链接。所以我在PATH环境变量中有下一个路径。

C:\Program Files (x86)\git\bin;C:\Program Files (x86)\git\cmd

我还没有找到Qt Creator或g ++如何使用MSYS,或者链接的位置,但是当我从PATH中删除了下一条路径时:

C:\Program Files (x86)\git\bin;

并重新启动Qt Creator - g ++成功编译我的文件,它运作良好。 问题为什么/如何影响不应该使用与git一起安装的MSYS util的Qt Creator / g ++仍然是开放的。

答案 1 :(得分:0)

我无法发表评论。

重要:在尝试autor的提示之前,删除发行版和调试文件夹(编译版)中的所有文件...