我已经创建了一个C++应用程序接口,目前只能在特定版本的Visual Studio (2008)上工作。基本上,我有一个C++动态链接库(以及这个动态链接库所依赖的其他库)都是用Visual Studio2008编译的。这对我们的用户来说将是一个大问题,因为他们将运行较新版本的Visual Studio。我需要找出一种方法来创建一个独立于平台的C++应用程序接口。我听说这样做的一种方法是用C语言包装所有的接口方法。这是解决这个问题的正确方法吗?我该如何用C语言包装C++代码,这样用户就不会被绑定到特定版本的Visual Studio (同时也能够支持Linux环境)?
我需要在另一个动态链接库(Visual C++ )中加载一个动态链接库,这样我就可以在第二个动态链接库中使用嵌入在第一个动态链接库中的类。我有这两个库的代码,因为我创建了两个dll,但我从来没有动态加载过库,所以我不确定这是如何完成的……
此外,我想使这个多平台,我已经编译为.dll和.so,所以这将是一个伟大的平台无关的方法来做this...otherwise,我可以使用宏,以包括windows或linux特定的代码。
致以最良好的问候和万分感谢
在Linux上,我正在构建一个以前与静态库( C++ )链接的可执行文件,我已经更新了构建,以便它现在可以动态地链接到这个库(.so)。我想确认这个库中的代码不再静态地链接到可执行文件中。我希望能够通过比较静态链接和动态链接的可执行文件的nm输出来确认这一点,但是两者之间有很多不同,如果有更好的方法推荐,那么手动确认这个way...wondering将是一种努力。