我目前正在尝试编译一个Qt应用程序,该应用程序是从Windows机器上的github下载的。我在 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:QtQt5.1.05.1.0mingw48_32bin;C:QtQt5.1.0Toolsmingw48_32bin;...
它存在并包含看起来像正确的 Dll 的内容。
我使用的是MingGW而不是Visual Studio编译器(尽管如果需要,我可以使用它)。
如何修复此错误以及可能导致此错误的原因?
编辑:当我运行qmake时,似乎没有任何问题。当我尝试构建项目时会出现错误。
Cored是Qt的基本部分,所以看起来链接器看不到任何Qt库。
您是否安装了Qt 5.1.0 SDK?
要检查的几件事:
-
您的 .pro 文件中有这样的一行吗?
QT += 核心
-
你提到"项目部分我的路径"你说的是窗口PATH变量吗? 这些路径也应该在其中。您可以使用dos命令进行检查:
回显 %路径%
如果这些路径不存在,为了进行测试,请添加它们,如果这有效,则本地 PATH 设置出现问题(即在运行 qt 创建器时 - 如果您使用的是 qt 创建器?
-
最后,只需检查Qt5Cored.dll的调试版本是否存在于该文件夹中(C:\Qt\Qt5.1.0\5.1.0\mingw48_32\bin),因为它看起来像您正在构建调试版本(这就是为什么您的程序正在寻找"d"后固定名称Qt5Cored而不是Qt5Core)。