如何在不创建新项目的情况下将avr32-gcc C编译器更改为Atmel Studio 6中的C++编译器?

6
我一直在将IAR项目迁移到Atmel Studio 6,花了一些时间来创建所有文件夹,并获得与IAR项目相同的正确结构。然后我意识到我创建了一个C项目,而实际上我也有C ++代码。所以问题是:如何在不创建新项目的情况下将GCC编译器从C更改为C ++?
我找不到任何关于Atmel Studio 6的适当文档。此外,我没有看到从GUI更改此参数的方法。
我发现我不必将C更改为C ++编译器。我必须同时使用两者。每个编译器都完成它的工作。avr32-gcc编译C代码,而avr32-gcccpp编译C ++代码。现在问题是:如何向项目添加第二个编译器?
我已经有了用于C的avr32-gcc。

可能是可行的,但是是否值得冒后期问题的风险,相比重新创建项目并确保它是“正确的”呢? - Mats Petersson
不确定,但我认为当给出一个.cpp文件时,gcc应该自动调用g++。 - user694733
2个回答

12

对于那些对解决方案感兴趣的人,以下是如何操作:

打开Atmel Studio 6中的项目 进入解决方案浏览器,在项目上右键单击。 选择“卸载项目” 现在项目应该变成灰色。 再次右键单击项目,并选择编辑。

您将看到项目配置和设置的xml代码。

大约在第50行左右,您将找到以下这些行:

<Language>C</Language>
<ToolchainName>com.Atmel.AVRGCC32.C</ToolchainName>

请将它们修改如下,更改语言:

<Language>CPP</Language>
<ToolchainName>com.Atmel.AVRGCC32.CPP</ToolchainName>

再次右键点击项目,然后选择重新加载项目。

现在,如果你进入项目的属性(CTRL + F7),你会看到工具链中有两个编译器。现在你可以编译C和C++代码。


2

除了接受的答案(顺便说一下,它非常有帮助),请确保项目的所有属性与之前相同。在进行建议更改后,大多数链接器、汇编器、预处理汇编器和存档程序的属性都不存在了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接