5

我一直在将 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。

4

2 回答 2

11

对于那些对解决方案感兴趣的人,这里是如何做到的:

在 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++ 代码。

于 2013-10-09T07:38:44.077 回答
1

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

于 2014-03-06T03:33:51.593 回答