【问题标题】:How can I use gcc's -I command to add recursive folders如何使用 gcc 的 -I 命令添加递归文件夹
【发布时间】:2012-08-30 20:06:54
【问题描述】:

有没有办法使用 gcc 的 -I 命令并通过提供 root 目录将所有路径添加到搜索路径?

我正在尝试使用:!gcc -E myfile.c 来查看宏扩展,但是myfile.c 在不同的目录中包含一大堆其他头文件,并且因为我在 vim 中执行此命令,所以我不想调用makefile,有没有办法做到这一点?

【问题讨论】:

    标签: c gcc vim c-preprocessor


    【解决方案1】:

    如果您使用的是 Apple 的 GCC(或 Clang),那么您可以使用以下方法(这似乎是一种扩展):


    参数的后缀需要/**

    -IMON_DIRECTORY/**
    

    现在可以搜索MON_DIRECTORY/ 下的所有内容。

    显然,这可能会影响您的构建时间,并且当文件具有相同名称时,可能会导致包含错误的文件。所以...谨慎使用它!

    【讨论】:

    • C:\Documents and Settings\nzwqv9\Desktop\New Folder\** 是我的根文件夹,gcc -I "C:\Documents and Settings\nzwqv9\Desktop\New Folder\**" -E test.c 仍然找不到头文件...
    • 我也无法复制。
    • @shengy 试试gcc "-IC:\Documents and Settings\nzwqv9\Desktop\New Folder\**" -E test.c
    • 这看起来像 globbing,我猜这是 zsh 功能,而不是 gcc 功能。
    • @justin :) 也许只是因为我没有正确使用它。得到解决方案后,我会在这里发表评论。
    【解决方案2】:

    gcc 有various ways 来控制include search path,但我没有看到提供你想要的东西。请注意,您可以为此使用environment variables,它可能比其他方法更方便。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-11-28
      • 2020-05-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多