我有一个客户提供了一个 C++ 代码,我迫切需要在一个用 C 编写的非常大的项目中使用它。
问题是:我无法将 C++ 代码重写为 C ......这太容易了,我没有这段代码的 IP,客户端必须维护代码。
我也无法使用 g++ 在 C 中链接我真正的大项目:这会破坏事情!
我试图将 C++ 代码转换为库,导出 C 样式接口(使用 extern "C",将类封装到结构中)但是在将这个库链接到我的项目时遇到问题......(记住,不能使用 g++ 链接):我最终得到了对几乎所有 STL 的未定义引用 绝望中,我将 STL 静态链接到我制作的 C/C++ 包装器库,但这并没有改变任何东西。
我对 C++ 了解不多,但我不想为这个特定的用例编写 C++ STL/C 包装器。
现在,我已经从 C++ 代码制作了一个二进制文件,并在我的 C 代码中使用 fork/exec 调用它……这是一个非常糟糕的解决方案,我想避免。
如果有人有线索/方向/提示,那将不胜感激。
谢谢,纪尧姆。