2013-04-27 84 views
1

我想运行和编译一些Qt代码,所以我可以学习它,我去的网站下面,我看到他们提供了一些Qt例子新Qt中得到了链接和Makefile错误

Sample Qt Code

我使用最新版本,那么我复制的代码,但我得到这些错误:

mainwindow.obj:-1: error: LNK2005: main already defined in main.obj

debug\uwm.exe:-1: error: LNK1169: one or more multiply defined symbols found

于是,我问的问题在“qt forum”,他们建议删除“主窗口.H”和‘从我的项目目录mainwindow.cpp’

如果我这样做,第一个错误都没有了,但我建立了项目后,我得到新的:

11:58:21: Running steps for project uwm... 11:58:21: Configuration unchanged, skipping qmake step. 11:58:21: Starting: "C:\Qt\Qt5.0.2\Tools\QtCreator\bin\jom.exe"
C:\Qt\Qt5.0.2\Tools\QtCreator\bin\jom.exe -f Makefile.Debug Error: dependent '..\uwm\mainwindow.cpp' does not exist. jom: D:\qt\build-uwm-Desktop_Qt_5_0_2_MSVC2012_64bit-Debug\Makefile [debug] Error 2 11:58:21: The process "C:\Qt\Qt5.0.2\Tools\QtCreator\bin\jom.exe" exited with code 2. Error while building/deploying project uwm (kit: Desktop Qt 5.0.2 MSVC2012 64bit) When executing step 'Make' 11:58:21: Elapsed time: 00:00.

+0

我无法提交我的第二个错误的屏幕截图http://s21.postimg.org/6z7t2mnx3/Scrshot11.png – amir 2013-04-27 17:52:20

+0

由于某些原因,您更改项目'Makefile'和'Makefile.Debug'后没有更新。尝试删除整个'D:\ qt \ build-uwm-Desktop_Qt_5_0_2_MSVC2012_64bit-Debug'并重试。 – Paul 2013-04-27 18:00:24

+0

@保罗谢谢你解决!完美...你是对的Makefile和Makefile.Debug没有更新。 – amir 2013-04-27 18:01:15

回答

1

当您更改你的代码在制作或尝试构建在另一台机器上编写和编译的代码之后,避免出现此类问题的最佳方法以及为您的工作环境安装.pro文件的方法是运行make clean,然后再次运行qmake -project,然后再构建它。

$ make clean 
$ qmake -project 
$ qmake [your .pro file name here].pro 
$ make 

,但你要注意,QMAKE不会插入你需要生成你的.pro文件中适当的Makefile中的所有参数。例如,如果您已使用外部库(如boost),则需要在.pro文件中使用LIBS +=手动添加它们。最好使用“Qt Creator”,所以每次你想构建代码时都不必这样做,并且需要解释正确的.pro文件和配置。也要非常注意你的编译错误,并尝试逐个解决这些问题,直到你成功地构建你的代码。