QT5将项目名称附加到每个源文件名,编译错误



我想开始使用QT。我下载了QT5 MINGW编译器与QT的创建者,我试图建立预先附加的例子命名为仿射问题是,QT5我认为嵌入项目名称与每个源文件,从而给出错误的文件未找到。一些类似的

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

而文件名只是

    main.cpp 

我不知道如何修理它。我在网上搜索了很多,但没有找到任何有用的东西。我甚至尝试从命令提示符编译,但我不熟悉命令提示符编译,因为我是新的QT和以前我完全开发的IDE在visual studio和eclipse for java,所以我不知道制作文件和编译器命令行参数。可以有人请帮助我解决这个问题,你能告诉请为什么编译器附加项目名称与源文件名?提前感谢

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

我现在正在使用Qt5.0.1,有两个发行版可以在windows上使用它:Qt5.0.1-mingw和Qt5.0.1-msvc2010。我不得不使用mingw,在我的设置中有一个问题,"/"在路径中被忽略了。

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

g++ /*truncated*/ ..qt-examplemainwindow.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"............QtQt5.0.15.0.1mingw47_32include" -I"............QtQt5.0.15.0.1mingw47_32includeQtWidgets" -I"............QtQt5.0.15.0.1mingw47_32includeQtGui" -I"............QtQt5.0.15.0.1mingw47_32includeQtCore" -I"debug" -I"." -I"." -I"............QtQt5.0.15.0.1mingw47_32mkspecswin32-g++" -o debugmainwindow.o ..qt-examplemainwindow.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会破坏系统。

MSYS用于git scm,我已经安装了它,所以我的路径包含了与git捆绑的MSYS的链接。所以我在我的PATH环境变量中有下一个路径

C:Program Files (x86)gitbin;C:Program Files (x86)gitcmd

我没有发现MSYS是如何被Qt Creator或g++使用的,或者它被链接在哪里,但是当我从path中删除下一个路径:

C:Program Files (x86)gitbin;

并重新启动Qt Creator - g++成功编译了我的文件,它工作了。为什么/如何影响Qt Creator/g++不应该使用与git一起安装的MSYS utils的问题仍然没有解决。

我不能评论

重要提示:在尝试作者的提示之前,请删除发布和调试文件夹(已编译版本)中的所有文件…

相关内容

  • 没有找到相关文章

最新更新