如何在Linux中使用COM ATL项目
How can I use COM ATL project in Linux?
我有一个小的c++库,它是作为ATL项目在Visual Studio。我想把它做成跨平台的。它将在Windows和Linux中使用。它将包含在我的项目中,它使用Qt 4.x。如何方便地转换库?
简短的回答:不容易。
长话短说:COM技术是一种专有的Windows技术,而ATL是建立在它之上的。这意味着你不能在linux下编译/运行它,除非你使用Wine或类似的东西。
可以做的是:您可以切换到XPCOM—COM技术的跨平台实现,由Mozilla平台实现。COM和XPCOM在Windows下是二进制兼容的(但只有在XPCOM上使用- MS Windows COM不知道Mozilla的XPCOM)。
我不确定您是否能够使用XPCOM而不是COM作为基础编译任何 ATL代码(但我对此表示怀疑),如果您使用XPCOM,您最好使用XPCOM GUI(使用与Mozilla/Firefox相同的代码)而不是Qt。
这意味着使用Javascript和XUL实现GUI。
相关文章:
- COM 事件需要 C3702 atl
- ATL COM - EnumWindows 回调函数不适用于 IDispatch::Invoke
- C++COM ATL VariantChangeType 会导致 WSH 崩溃
- WinAPI - GetLastError 在通过 COM ATL DLL 调用时始终返回 0
- 如何在 ATL COM 模块中打印控制台输出
- 无法访问 ATL/COM C++ Outlook 加载项中的邮件项目
- IE 探索 11 < c++ ATL COM 浏览器帮助程序对象(加载项)来替换 DOM 中的文本
- ATL结构从dll上断开COM对象
- 删除/编辑 ATL COM DLL 属性/方法
- 在C++中使用COM/ATL接口时,C#对象未被销毁
- 使用 ATL/COM 的托管字节 [] 到非托管字节数组
- 可视化 如何删除 ATL COM C++中的方法
- ATL/COM:为什么 CComSafeArray::GetCount() 会为空数组抛出异常
- WinRT/Metro样式应用程序中基于ATL的COM对象
- 如何在 ATL COM+ 进程外服务器应用程序中标识调用方的进程?
- ATL COM将函数添加到excel中
- Calling ATL COM dll from MFC
- 在C++COM(ATL)中添加新接口时需要注意哪些事项
- C++ COM ATL DLL
- 如何在Linux中使用COM ATL项目