2

我目前正在尝试在 Windows 机器上编译从 github 下载的 Qt 应用程序。我在 Ubuntu 上编译它没有任何问题,所以我希望有人可以帮助阐明我的问题。

我正在使用 Qt-Creator 来编译程序。

确切的错误消息是:

:-1: error: cannot find -lQt5Guid
:-1: error: cannot find -lQt5Cored
collect2.exe:-1: error: error: ld returned 1 exit status

阅读这些消息时,我的第一个想法是 windows PATH 变量不包括库的位置。但是当我检查时,我的 PATH 包含以下内容:

C:\Qt\Qt5.1.0\5.1.0\mingw48_32\bin;C:\Qt\Qt5.1.0\Tools\mingw48_32\bin;...

它存在并包含看起来像正确的 Dll 的内容。

我使用的是 MingGW 而不是 Visual Studio 编译器(尽管如果需要我可以使用它)。

如何解决此错误以及可能导致它的原因?

编辑:当我运行 qmake 时似乎没有任何问题。当我尝试构建项目时出现错误。

4

1 回答 1

2

Cored 是 Qt 的基本部分,因此看起来链接器看不到任何 Qt 库。

您是否安装了 Qt 5.1.0 SDK?

需要检查的几件事:

  1. 你的 .pro 文件中有这样的一行吗?:

    QT += 核心

  2. 您提到“项目部分我的路径”您是在谈论 Windows PATH 变量吗?这些路径也应该在其中。你可以用dos命令检查:

    回显 %PATH%

    如果这些路径不存在,则进行测试,如果可行,则将它们添加进去,然后本地 PATH 设置出现问题(即在运行 qt creator 时 - 如果您使用的是 qt creator?)

  3. 最后只需检查 Qt5Cored.dll 的调试版本是否存在于该文件夹 (C:\Qt\Qt5.1.0\5.1.0\mingw48_32\bin) 中,因为看起来您正在构建调试版本(这就是为什么您的程序正在寻找 'd' 后置固定名称 Qt5Cored 而不是 Qt5Core)。

于 2013-09-16T07:30:01.777 回答