如何在 Eclipse 中为 C 编写 C++ 包装器

How to write a C++ wrapper for C in Eclipse?

本文关键字:编写 C++ 包装 中为 Eclipse      更新时间:2023-10-16

我已经将libstdc++添加到链接器选项中,但是我一直得到一个"未定义的引用",用于我想在C中使用的所有C++函数。

我认为问题是有问题的文件不是使用 g++ 编译的,但是如何在 Eclipse 中定义此规则?

要使 C++ 函数可从C++调用,您必须 - 至少 - 使用 "extern C {}":

  • http://www.parashift.com/c++-faq-lite/mixing-c-and-cpp.html

您不能从 C 程序中调用任何仅C++构造(如 new、delete、任何类或任何模板) - 您的 C 模块不会编译和/或不会链接。

您应该能够使用 Eclipse 和/或从 g++ 命令行编译具有 .c 后缀的合法 C 模块。

使用 g++

进行编译的一种方法是在项目资源管理器中选择 C 文件,选择 C/C++ 生成、设置,然后在命令字段中输入 g++。可能有一些更清洁的方法,但它应该有效......