我想运行和编译一些 Qt
代码以便学习它,我访问了下面的网站,我看到他们提供了一些 Qt
示例
我使用最新版本,然后我复制了代码,但出现了这些错误:
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”中提出了我的问题' ,他们建议从我的项目目录中删除“mainwindow.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.
最佳答案
当您在制作或尝试构建在另一台机器上编写和编译的代码后更改代码时,避免此类问题并拥有适合您的工作环境的 .pro 文件的最佳方法是运行 make clean,然后运行 qmake -再次项目然后构建它。
$ make clean
$ qmake -project
$ qmake [your .pro file name here].pro
$ make
但是您应该注意,qmake 不会在您的 .pro 文件中插入生成正确 MakeFile 所需的所有参数。例如,如果您使用了诸如 boost 之类的外部库,则需要在 .pro
文件中使用 LIBS +=
手动添加它们。最好使用“Qt Creator”,这样您就不必在每次要构建代码时都这样做,并且如前所述,这涉及正确的 .pro 文件和配置。还要注意您的编译器错误,并尝试一个一个地解决问题,直到您成功构建您的代码。
关于c++ - Qt 中的新功能获取链接器和 Makefile 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16255180/