如何将外部库添加到 QT?

Posted

技术标签:

【中文标题】如何将外部库添加到 QT?【英文标题】:How to add an external library to QT? 【发布时间】:2017-04-22 10:35:07 【问题描述】:

我正在尝试创建一个与 SimConnect SDK 关联的项目。

我是 QT 的新手,在 Visual Studio 中,我只有一个 SimConnect.h 文件、一个 .lib 文件和一个 .dll 文件,我设法让它工作。现在我正在尝试创建一个 C++ 小部件项目,使用相同的 SDK,但在 QT 中。

我将头文件放在我的 QT 项目的文件夹中,其他默认代码和头文件所在的位置,然后我进入项目并将它们添加为现有文件,正如我在 Google 中阅读的那样。我的实际库有问题。

我一直在 Google 上搜索有关如何将库文件添加到项目的指南,我做了一些在互联网上看到的事情,例如 LIBS 行,但我可能做错了,即使它看起来很简单。 我不确定将我的 dll/库文件放在项目目录中的哪个位置,也许问题是我总是把它们放在错误的位置。

我得到的最远的是一条错误消息,上面写着“未解析的外部符号”,并且在我尝试从 SimConnect 函数中使用的每个函数上都出现了一条红色的文字,上面写着“.obj 文件未找到”,这可能意味着 QT 不能找不到我的库/dll 文件。

我也尝试从项目中的“添加库”选项添加库,但这也没有用。

编辑:它还警告“警告:LNK4272:库机器类型 'X86' 与目标机器类型 'x64' 冲突”也许它必须做一些事情。

【问题讨论】:

Adding external library into Qt Creator project的可能重复 您只需要在提到的线程中完成LIBS += 语句。一定要把/path/to改成链接库的路径。 @m7913d 这正是我所做的,我通过“添加库选项”添加了库,因此该行是自动创建的。正如我所说,我整天都在寻找谷歌搜索,它仍然向我显示这个错误,比如 QT 找不到我的库或其他东西 奇怪,它应该可以工作。你也可以试试:LIBS += absolute_path_to_lib.lib. @m7913d 也试过了,我编辑了我的帖子,添加了它给我的警告,“警告:LNK4272:库机器类型'X86'与目标机器类型'x64'冲突”也许有一些东西和它有什么关系? 【参考方案1】:

(代表 OP 发布)

解决了!我的问题是我的机器设置为 64 位,而库设置为 32 位,所以我下载了 32 位套件,并通过它运行项目,它工作!

【讨论】:

以上是关于如何将外部库添加到 QT?的主要内容,如果未能解决你的问题,请参考以下文章

如何将 Crypto++ 库添加到 Qt 项目

如何将外部库项目添加到 android studio 1.2.2?有溶液

如何将qt静态库代码还原动态库

如何将外部文件添加到 Jenkins 作业?

如何将 webrtc 原生 api 添加到我的 qt 项目中?

在 Qt Creator 中将 TagLib 库添加到 Linux Qt 项目?