我在一个用CMake编译的C++跨平台项目上工作,并使用外部库。这个库在旧版本中有一些问题,但在新版本中有一组脱节的问题。这些版本在同一个主要版本中,因此API是兼容的。我希望允许用户动态地(在应用程序启动时)选择应用程序应该使用哪个库版本。我认为这是一个动态链接到两者的问题,但只加载一个,但我对这些方面不是很熟悉。我该怎么办?
ljsrvy3e1#
最简单的方法是构建应用程序两次。源代码的编译只会发生一次,但是您将在CMake中创建两个可执行文件,它们链接到库的两个不同版本。然后你可以做一个启动程序来启动你想要的可执行文件。也有其他解决方案,但它们工作量更大,便携性更差。
1条答案
按热度按时间ljsrvy3e1#
最简单的方法是构建应用程序两次。源代码的编译只会发生一次,但是您将在CMake中创建两个可执行文件,它们链接到库的两个不同版本。然后你可以做一个启动程序来启动你想要的可执行文件。
也有其他解决方案,但它们工作量更大,便携性更差。