【问题标题】:NetBeans settings for GCCGCC 的 NetBeans 设置
【发布时间】:2011-05-06 01:40:22
【问题描述】:

当我点击项目属性时,我可以设置Warning level (More Warnings) 和Command Line -> Additional Options (-std=c99)。但我希望我的所有 C 项目默认都有这种选项,而无需在每次创建新项目时手动设置它们。

【问题讨论】:

  • 请注意:虽然XP1 完全正确,但在简单的情况下,您可以只使用CFLAGS

标签: c gcc netbeans makefile mingw


【解决方案1】:

对于每个项目,配置属性都保存在\nbproject\configurations.xml (%UserProfile%\Documents\NetBeansProjects\ProjectName\nbproject\configurations.xml) 文件中。

您可以在项目之间共享configurations.xml 文件,这样您就不必更改和应用每个设置。


您可以创建一个默认项目并根据需要对其进行配置。您可以复制它,然后将其命名为其他名称,而不是创建一个新项目。


如果您希望工具链属性应用于每个项目,您将需要手动修改您的工具链定义或创建一个新的。

  • 生成工具集合描述符的影子副本:

    • NetBeans > 文件 > 退出。
    • 获得修改%ProgramFiles%\NetBeans x\etc\netbeans.conf的写入权限:
      • 开始 > 运行 > %ProgramFiles%\NetBeans x\.
      • 右键单击etc文件夹>属性>安全>编辑...>在“组和用户名”下,选择“用户”组>在“用户权限”下,为“完全控制”启用“允许” > 确定 > 确定。
    • 在可以处理换行符的文本编辑器中打开%ProgramFiles%\NetBeans x\etc\netbeans.conf

      • 在以netbeans_default_options 开头的行上,将-J-Dcnd.toolchain.personality.create_shadow=true 添加到值字符串中。

        • 例如,该行现在可能如下所示:

          netbeans_default_options="-J-client -J-Xss2m -J-Xms32m -J-XX:PermSize=32m -J-Dapple.laf.useScreenMenuBar=true -J-Dapple.awt.graphics.UseQuartz=true -J-Dsun.java2d.noddraw=true -J-Dsun.zip.disableMemoryMapping=true -J-Dcnd.toolchain.personality.create_shadow=true"

      • 保存文件。
      • 如果您已将设置从之前生成卷影副本的旧配置文件导入到 7.2+ 配置文件,则必须打开 %Appdata%\NetBeans\x\config\Preferences\org\netbeans\modules\cnd\ 中的 toolchain.properties 文件。在toolchain.properties 中,删除toolchain_shadow=true 行并保存。
        • 如果在升级和导入 NetBeans 配置文件后不执行此步骤,NetBeans 可能不会生成卷影副本。此外,您可能无法使用任何构建工具,并且在尝试配置 C/C++ 构建工具时可能会收到“No compiler sets were found in the directory ...”错误。
      • 打开然后关闭 NetBeans。
      • 在以netbeans_default_options 开头的行上,从值字符串中删除-J-Dcnd.toolchain.personality.create_shadow=true。换句话说,撤消编辑以将文件恢复到其原始状态。
      • 保存文件。
  • 修改或创建工具链定义:

    • 开始 > 运行 > %Appdata%\NetBeans\x\config\CND\ToolChain\ (7.2+) 或 %UserProfile%\.netbeans\x\config\CND\ToolChain\ (7.1.2-)。
    • 为您的工具链找到相应的 XML 文件。
      • 例如MinGW工具链定义文件为MinGW.xml
    • 在可以处理换行符的文本编辑器中打开 XML 文件。
    • c 元素中,有一个development_mode 元素包含不同的开发模式选项元素。您可以通过修改flags 属性来修改特定开发模式的标志。

      • 例如,当您添加 -std=c11 -g3 -pedantic -Wall -Wextra -O0 标志时,属性可能如下所示:

        <development_mode>
            <fast_build flags="-std=c11 -g3 -pedantic -Wall -Wextra -O0"/>
            <debug default="true" flags="-std=c11 -g3 -pedantic -Wall -Wextra -O0 -g"/>
            <performance_debug flags="-std=c11 -g3 -pedantic -Wall -Wextra -O0 -g -O"/>
            <test_coverage flags="-std=c11 -g3 -pedantic -Wall -Wextra -O0 -g"/>
            <diagnosable_release flags="-std=c11 -g3 -pedantic -Wall -Wextra -O0 -g -O2"/>
            <release flags="-std=c11 -g3 -pedantic -Wall -Wextra -O0 -O2"/>
            <performance_release flags="-std=c11 -g3 -pedantic -Wall -Wextra -O0 -O3"/>
        </development_mode>
        
    • cpp 元素中,有一个development_mode 元素包含不同的开发模式选项元素。您可以通过修改flags 属性来修改特定开发模式的标志。

      • 例如,当您添加 -std=c++11 -g3 -pedantic -Wall -Wextra -O0 标志时,属性可能如下所示:

        <development_mode>
            <fast_build flags="-std=c++11 -g3 -pedantic -Wall -Wextra -O0"/>
            <debug default="true" flags="-std=c++11 -g3 -pedantic -Wall -Wextra -O0 -g"/>
            <performance_debug flags="-std=c++11 -g3 -pedantic -Wall -Wextra -O0 -g -O"/>
            <test_coverage flags="-std=c++11 -g3 -pedantic -Wall -Wextra -O0 -g"/>
            <diagnosable_release flags="-std=c++11 -g3 -pedantic -Wall -Wextra -O0 -g -O2"/>
            <release flags="-std=c++11 -g3 -pedantic -Wall -Wextra -O0 -O2"/>
            <performance_release flags="-std=c++11 -g3 -pedantic -Wall -Wextra -O0 -O3"/>
        </development_mode>
        
    • 保存文件。

在不同平台上查找netbeans.conf配置文件,参见:

在不同平台上查找用户目录,参见:

有关工具集合描述符的信息,请参阅:

【讨论】:

  • FWIW,我使用的与 IDE 无关的通用解决方案是一个老技巧 - 要么使用 CFLAGS,要么(主要与工具链无关)简单地创建一个调用 system.exe将编译器/链接器作为第一个参数,配置文件中的其他参数,最后添加所有实际的 argv 参数。要么只使用重定向器创建一个全新的目录,要么将所有旧的 .exe 重命名为其他名称。
【解决方案2】:

首先从Code::Blocks IDE DownlowdMSYS 1.0.11 下载并安装Code::Blocks IDE

所有设置将自动配置,但您必须从

中选择“make”命令
C:\msys\1.0\bin\make.exe

【讨论】:

  • 这不能回答问题。 @gameboy 谈论的是默认项目属性,而不是构建工具。
【解决方案3】:

在带有MinGW(gcc)的Windows 7 Professional下使用netBeans 8.1,我找到了文件

C:\Users\Username\AppData\Roaming\NetBeans\8.1\config\Preferences\org\netbeans\modules\cnd*toolchain.properties*

但我找不到文件夹

C:\Users\用户名\AppData\Roaming\NetBeans\8.1\config\CND

(所以我找不到 C:\Users\Username\AppData\Roaming\NetBeans\8.1\config\CND\ToolChain)

我找到了文件夹

C:\Users\Username\AppData\Roaming\NetBeans\8.1\config\Preferences\org\netbeans\modules\cnd

但那里没有 MinGW.xml 文件。我在安装 NetBeans(和 MinGW)的硬盘驱动器上找不到这个 MinGW.xml 文件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多