如何将我自己的头文件目录添加到Mac Terminal gcc?

时间:2011-04-18 00:54:14

标签: c macos bash shell gcc

我正在尝试编译包含指定目录中的自定义.h文件的C程序(myProgram.c)。如何将目录添加到gcc,以便我可以使用gcc myProgram之类的命令随时构建myProgram.c(没有标记,什么不是

3 个答案:

答案 0 :(得分:3)

您可以通过更改C_INCLUDE_PATH环境变量来完成此操作,例如

C_INCLUDE_PATH=~/include
export C_INCLUDE_PATH

您可以将其添加到.bashrc.bash_profile或其他任何内容,以便始终正确设置环境变量。 Here's a reference on how you can do the same for libraries and C++

答案 1 :(得分:2)

必须使用一整套标志才能让它在El Capitan上运行:

export DYLD_LIBRARY_PATH=/usr/local/include
export CPPFLAGS="-I/usr/local/include/snappy-c.h"
export CFLAGS="-I/usr/local/include/snappy-c.h"
export CXXFLAGS="-I/usr/local/include/snappy-c.h"
export LDFLAGS="-L/usr/local/lib"

答案 2 :(得分:0)

Makefile在这种情况下会有所帮助,它们可以简化多个文件项目的编译。

假设您正在使用这些相同的文件并且它们位于同一目录中

  • 的main.c
  • custom.c
  • custom.h

示例makefile可能看起来像

all: main.o custom.o
    gcc main.o custom.o -o myExecutable

main.o: main.c
    gcc -c main.c

custom.o: custom.c custom.h
    gcc -c custom.c

clean:
    rm -f *.o myExecutable

或类似的东西,一般格式是

name: dependency
    command

因此,通过从命令行运行make all,您将指示编译器将源代码编译为目标文件,然后将这些目标文件链接到可执行文件中。

Make应该可以在任何现代系统上轻松使用。有关基本makefile和用法的更多信息,请参阅这个简单的教程:http://mrbook.org/tutorials/make/