【问题标题】:Argument unused during compilation?编译期间未使用的参数?
【发布时间】:2017-04-12 19:25:01
【问题描述】:

根据我所做的研究,问题似乎出在 clang 上。如果是这种情况,我将如何在 Mac 上解决此问题?切换到 Ubuntu/Linux 会更好吗?

我不确定这是否相关,但在我们深入研究 C++ 之前,我的教授让我们使用 C 语法使用 g++ 编写代码并将我们的文件保存为“.cpp”。

警告:

clang:警告:编译期间未使用的参数:'-ansi' [-Wunused-command-line-argument]

生成文件:

CC = g++

calendar: main.o calendar.o appt.o day.o time.o
    $(CC) main.o calendar.o appt.o day.o time.o -g -ansi -Wall -o calendar.out

%.o: %.cpp
    $(CC) -Wall -c $<

【问题讨论】:

    标签: g++ clang


    【解决方案1】:

    您认为此警告是由 clang++ 在这些 情况下而不是 g++,并且您在 Mac 上看到它,因为 g++ 是 真的clang++

    GCC选项-ansi对编译有意义,没有意义 用于联动。 Clang 警告您,因为您在链接配方中传递它:

    $(CC) main.o calendar.o appt.o day.o time.o -g -ansi -Wall -o calendar.out
    

    它无效的地方,并且没有将其传递给您的编译配方:

    $(CC) -Wall -c $<
    

    诊断的措辞具有误导性,因为它是在这里引起的 正是由于编译的缺席。尽管如此,它确实 提请注意您的错误。从您的链接配方中删除 -ansi 并将其添加到您的编译配方中。

    【讨论】:

      猜你喜欢
      • 2022-09-25
      • 2021-02-03
      • 2012-10-25
      • 2021-12-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-05
      • 2017-02-13
      相关资源
      最近更新 更多