我有一个小型的C库,它是在Visual Studio中作为ATL项目制作的.我想让它跨越.它将用于Windows和Linux.它将包含在我的项目中,该项目使用Qt 4.x.我怎样才能轻松转换库?
解决方法:
简答:不容易.
答案很长:COM技术是一种独特的Windows技术,ATL就是建立在它之上的.这意味着你不能在linux下编译/运行它,除非你使用Wine或类似的东西.
以下是您可以执行的操作:您可以切换到XPCOM – 由Mozilla平台实现的COM技术的跨平台实现. COM和XPCOM在Windows下是二进制兼容的(但只有在XPCOM中使用时 – MS Windows COM与Mozilla的XPCOM无关).
我不确定你是否能够使用XPCOM而不是COM作为基础来编译任何ATL代码(但我怀疑它),如果你使用XPCOM,你最好使用XPCOM GUI(使用相同的代码) Mozilla / Firefox做的,而不是Qt.
这意味着使用Javascript和XUL实现GUI.