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