我们的代码是普通的C - 并且需要C编译器,而不是C ++。我们必须将它与C ++代码链接起来。
我正在尝试一个简单的练习,使用虚拟代码,而不是真正的东西;只有两个Eclipse项目,一个编译为C而没有链接,另一个编译为C ++并与C对象链接。
我将实例化一个C ++类的对象并从C调用它的一个方法(正如StoryTeller所指出的,核心程序C绑定),并且还从对象调用一个普通的C函数,作为概念的证明。
我该如何解决?我的问题只有Eclipse,而不是代码。
[更新]我将C ++和C混合成一个文件&编译器是根据扩展名选择的:G ++表示.cpp,gcc表示.c
我必须赶紧去参加会议,然后回家,但明天会更新。
答案 0 :(得分:0)
实际上,结果很简单。
由于我只想生成一个可执行文件,因此我创建了一个项目;一个C ++项目,碰巧,但......
右键单击给定目录或源文件,然后选择“属性/设置/编译器”,并选择适用语言的编译器。对于GNU,为C ++代码选择g++
,为C代码选择gcc
。
作为奖励,您可以(但不需要)从“项目”菜单中清除“自动构建”选项。这为每个源文件添加了新的右键单击上下文菜单项,以“清理/构建所选文件”,这对所有项目都有用,而不仅仅是混合语言。
问题仅在于配置Eclipse,而不是编码。但是,如果你想在一个项目中混合使用C和C ++,那么一个非常好的起点是here。