集成在不同VS版本中开发的应用程序



我目前面临着我必须集成一个IMU的任务,IMU的API是使用Visual Studios 2015与API仅与Visual Studios 2010兼容的集成软件开发的。我已经尝试将IMU API调整为VS2010,但这太复杂和乏味了。在合理的时间内无法可行。

我想到的解决方案是在VS2015中实现类(我们称其为bridgeclass),该类将使用简单的结构读取IMU的所需数据。这将作为dll实现,我可以将其链接到VS2010中的集成软件。

但是,尚不清楚的部分是,我如何将两个库彼此分开,以使VS2010永远不会"看到" vs2015的任何东西,这使它感到不安。使用dll可以吗?我将不得不将IMU库链接到BridgeClass(例如,要打开端口并从IMU读取数据),此外,这是否会链接到集成软件,最终与直接集成IMU相同?

如果有人可以给我一些有关此的信息或将我指向一些有用的链接,我将非常有帮助。谢谢!

只要您的dll的API不使用任何标准库,并且在混合视觉工作室版本中不应使用任何标准库。

您需要使用char*而不是std::string。无std::vectorstd::shared_ptrstd::unique_ptr等。

您需要注意的另一件事是,在DLL内部分配了任何分配的内容,这通常是使用C出厂功能和C Destructor函数来完成的,您的应用程序可以调用这些功能以创建和破坏对象。

相关内容

最新更新