【发布时间】:2011-08-29 09:50:44
【问题描述】:
我正在尝试创建一个包含 C 和 C++ 函数的静态库,然后在 C 环境中使用该库。根据Using C++ library in C code,我将 C 函数包装在 C++ 函数周围。
库的生成文件使用“ar -rvs libNAMEX.a $(OBJECTS)”,其中 OBJECTS 包含由 gcc 或 g++ 编译的目标文件,具体取决于类型(GCC 版本 4.4.1)。
我在构建库时没有遇到任何错误。但是当我尝试编译使用库的 C 文件(带有 GCC 4.5.1 的交叉编译版本)时:“gcc -L[PATH TO libNAMEX.a] -lNAMEX ... c_source.c”,它给出我与 C++ 扩展相关的错误(即“未定义对 operator new(unsigned long)", "undefined reference tostd::allocator::~allocator()' 的引用”)。
有没有办法解决这个问题?
【问题讨论】:
标签: c++ c static-libraries