如何在 bcc32 上使用使用 bcc32c 构建的静态库

xva*_*van 3 c++builder static-libraries c++11

我需要在 bcc32 项目上使用 C++11 库。该库不能用 bcc32 编译,但可以用 bcc32c 编译。

我想防止在 DLL 上公开这个库。该库使用 bcc32c 编译,但我无法在 bcc32 项目上使用 bcc32c 静态库。

Rem*_*eau 5

静态库是特定于编译器的。您不能在一个编译器中创建静态库并在另一个编译器中使用它。您唯一的选择是将静态库包装在 DLL 中,或者更改库的代码以解决阻止它在 bcc32 中编译的任何问题。

  • @xvan:他们“放弃”了 Borland 编译器,因为它的内部架构已经过时且有限,永远无法支持 C++11 和更高版本的 C++。这与 Borland 和 Embarcadero 编译器之间缺乏兼容性无关。您不能在任何编译器中编译静态库,无论是 Visual Studio 还是 GCC 或其他任何编译器,然后将其与 Embarcadero 编译器一起使用,反之亦然。有时,您甚至不能跨*相同* 编译器的多个版本使用静态库。就像我说的,静态库特定于特定的编译器。和它一起生活。 (3认同)