我已将 libstdc++ 添加到链接器选项中,但我不断获得对我想在 C 中使用的所有 C++ 函数的“未定义引用”。
我认为问题在于有问题的文件不是使用 g++ 编译的,但是如何在 Eclipse 中定义这个规则?
要使 C++ 函数可从 C++ 调用,您必须 - 至少 - 使用“extern C {}”:
您不能从 C 程序中调用任何仅 C++ 的构造(如 new、delete、任何类或任何模板)——您的 C 模块不会编译和/或不会链接。
您应该能够使用 Eclipse 和/或从 g++ 命令行编译具有 .c 后缀的合法 C 模块。
使用 g++ 编译的一种方法是,在项目资源管理器中选择 C 文件,选择 C/C++ 构建、设置,然后在命令字段中输入 g++。可能有一些更清洁的方法,但它应该工作......