【发布时间】:2013-04-04 12:15:07
【问题描述】:
我正在尝试使用 c++ 制作协议栈 DLL。我实际使用协议栈的 Gui 部分是 用Qt写的。但是我的协议栈是单独使用标准 c++ 编写的。我想拥有我的 协议栈以异步方式向 GUI 部分发送数据接收信号。为此,我想到了 具有信号和槽机制。我不想使用 Qt 信号和插槽,因为我认为它会 强迫我将我的协议栈 DLL 设为 Qt DLL。所以,我想到了使用升压信号。 但在 Qt 中,它们将 #defining 信号定义为:
#define signals protected
这会将所有升压信号替换为受保护的,我的程序会引发很多错误。 有没有办法单独在Boost库中避免这种#defining? 我不希望它在 Qt 库中停止。
【问题讨论】:
-
只有当您的项目引用 QtCore 时才会发生这种情况。您的协议栈 DLL 项目是否包含 QT 内容?摆脱它们以继续前进。
-
这个topic 可能会有所帮助
-
@Arun 协议栈没有使用 Qt 的东西。但我的 Gui 部分使用它。为了将 Gui 与协议层连接起来,我需要在两者中都有 Boost。这在 Gui 部分产生了问题。但现在它得到了解决。我只需要使用 Boost::signals2 而不是 Boost::signals。
-
@sajas,Gr8。感谢分享解决方案:)