Cod*_*key 22 c++ dependencies gcc
如果我使用GCC编译器在C++中使用库A,B和C. Lib A和B都依赖于C,但它们的版本不同.我可以在另一个程序中一起使用A和B吗?或者A和B所需的不同版本是否会发生冲突?我该如何解决这个问题呢?
我假设您正在动态链接。如果A和B都完全封装了各自的C版本,则有可能这样做。您可能需要确保不同版本的C的名称不同(即libMyC.1.so和libMyC.2.so),以避免在运行时加载它们时造成混淆。
您还可以静态地研究A和B的构建,以避免运行时负载混乱的可能性。
最简单的找出方法就是尝试一下。确定它是否会用很长时间。
最后,当然,到目前为止,最简单的解决方案,并且从维护的角度来看,最好的方法是使A或B达到另一个级别,以便它们都使用相同的C版本。这在许多方面都更好我强烈敦促您这样做,而不是尝试解决实际问题。
归档时间: |
|
查看次数: |
4809 次 |
最近记录: |