c++ - Qt 中的新功能获取链接器和 Makefile 错误

标签 c++ qt

我想运行和编译一些 Qt 代码以便学习它,我访问了下面的网站,我看到他们提供了一些 Qt 示例

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”中提出了我的问题' ,他们建议从我的项目目录中删除“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/

相关文章:

c++ - 这些编程语言的 headless 浏览器库

c++ - 如何将场景添加到 mainwindow.cpp 中的 View ?

c++ - 如何使我的 Qt 项目静态化 (.exe)

c++ - 如何在QT中制作二维数组?

c++ - QTableView 中的 Qt 复制和粘贴不起作用

c++ - 相当于 Windows 上的 select for Pipes

c++ - 如果我有一点其他编程经验,学习 C++ 的最佳方式是什么?

c++ - 用户模板化定义结构的 QList

python - Qt Tooltip如何防止内置延迟后文本消失?

c++ - 为什么我需要从主线程使用 `pthread_exit()`,而它不是由 `pthread_create` 创建的?