如何在alr中关闭-gnatyt风格检查编译选项
如何在alr中关闭GNAT的-gnatyt风格检查选项?
刚在Linux上安装了alr,时隔10年重拾Ada语言,发现GNAT社区版已不再受支持。编写了如下简单的Ada程序:
with Ada.Text_IO; procedure A02hello is begin Ada.Text_IO.Put_Line("It works"); end A02hello;
编译时出现风格警告:
Compile [Ada] a02hello.adb a02hello.adb:5:24: (style) space required [-gnatyt]
给Put_Line和括号间添加空格后警告消失,但希望直接关闭-gnatyt这个风格检查选项,可通过以下几种方式实现:
方法一:修改项目GPR文件
如果项目使用GPR项目文件,直接在文件中配置编译器开关:
project A02hello is for Source_Files use ("a02hello.adb"); package Compiler is for Default_Switches ("Ada") use ("-gnat!y"); end Compiler; end A02hello;
GNAT的选项规则中,在原选项前加!即可反向取消该选项,-gnat!y就是关闭-gnatyt的空格风格检查。
方法二:通过alr命令行控制
临时单次生效
编译时直接传递编译器选项给alr,用--分隔alr自身参数和编译器参数:
alr compile -- -gnat!y
永久生效当前项目
将选项写入项目的alr配置文件,后续编译自动应用:
alr config --set compiler.ada.default_switches "-gnat!y"
内容的提问来源于stack exchange,提问作者cup
相关产品推荐
相关产品推荐

