0

我有一个问题我已经解决了一天左右,我想知道是否有人可以提供帮助:

我正在尝试使用 ActiveMQ-NMS 在 C++ 应用程序中通过 COM 将消息出列。我已经设法构建了源代码并覆盖了“ComVisible”标志,以便通过 RegAsm 导出程序集中的所有类型(我确实收到了关于这个和“原子”类的警告,但我认为这不是我面临的问题眼下)。

作为 RegAsm 的一部分,我生成了一个 .tlb 文件,我在 C++ 客户端的 #import 中使用该文件。但是,我在编译时收到各种错误。像:

error C2146: syntax error : missing ';' before identifier 'Keys'
error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 

从本质上讲,它看起来像 ICollectionPtr(和其他各种)这样的东西不可用。谁能帮我解决这些问题?本质上,我希望将 .net ActiveMQ-NMS 程序集注册为兼容 COM 的组件,然后从 C++ 中使用它...

4

1 回答 1

1

除非有其他原因使用 COM 和 NMS,否则为什么不直接使用 ActiveMQ-CPP 客户端呢?这样就可以避免 COM 的所有复杂性。ActiveMQ-CPP 位于此处

于 2011-04-27T11:37:35.370 回答