gpt4 book ai didi

c++ - Qt5 VS 2010 - QtSerialPort 库失败

转载 作者:行者123 更新时间:2023-11-30 04:12:23 25 4
gpt4 key购买 nike

我正在尝试使用 Qt v5.1.1 中新包含的 QtSerialPort,但在尝试编译时遇到了一些我没有什么经验的问题。从我的搜索看来,qt 5.1 的 QtSerialPort 似乎没有构建好并可以使用,我在这方面是正确的吗?我将如何使用 Qt Creator 或 Visual Studio 2010 准备它?我最近刚从 4.8.4 升级并继承了该项目,所以我不确定以前做了什么。我找到了使用各种 Linux 版本进行编译的说明,但对于 Windows 似乎没有任何内容是一致的或直接的,所以我希望这里有人有一些更具体的说明。

谢谢!

编辑:我将添加我遇到的一两个特定错误,也许这将有助于确定我做错了什么。

error LNK2001: unresolved external symbol "public: virtual struct QMetaObject const * __thiscall QSerialPort::metaObject(void)const " (?metaObject@QSerialPort@@UBEPBUQMetaObject@@XZ)
error LNK2019: unresolved external symbol "__declspec(dllimport) public: __thiscall QSerialPort::QSerialPort(class QObject *)" (__imp_??0QSerialPort@@QAE@PAVQObject@@@Z) referenced in function "public: __thiscall serial_client::serial_client(class QObject *)" (??0serial_client@@QAE@PAVQObject@@@Z)

这些只是编译时出现的 21 个错误中的两个。正如我在评论中提到的,Visual Studio 2010 或 Qt Creator 似乎都无法识别 QtSerialPort 库。

最佳答案

好吧,在尝试了一堆不同的东西并结合了来自不同地方的信息之后,我设法弄清楚了一切并开始工作。

它不起作用的原因当然很简单,该模块没有通过 Qt5 插件包含在 Visual Studio 中,原因很简单,它没有显示为可用模块。另一个问题是我没有安装带有源依赖项的 Qt 5.1.1,我只是选择了默认安装,它不包括任何需要的 QtSerialPort。重新安装后,我在以下位置修改了我的 VS 项目设置:

  1. 项目属性 -> 配置属性 -> C/C++ -> 常规 -> 附加包含目录,添加行:$(QTDIR)\include\QtSerialPort
  2. 项目属性 -> 配置属性 -> C/C++ -> 预处理器 -> 预处理器定义,添加行:QT_SERIALPORT_LIB
  3. 项目属性 -> 配置属性 -> 链接器 -> 输入 -> 附加依赖项,添加行:Qt5SerialPort.lib

注意:$(QTDIR) = C:\Qt\Qt5.1.1\5.1.1\msvc2010_opengl\

然后我将 Qt5SerialPort.dll 和 Qt5SerialPortd.dll 分别添加到我项目中的 Release 和 Debug 文件夹中。

我相当确定这些是我所做的唯一更改。我希望这对其他人有用!

关于c++ - Qt5 VS 2010 - QtSerialPort 库失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19847783/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com