在mac上,如何添加路径到环境变量?

问题描述:

我使用OpenCV的Mac上,我每次编译程序的时候,我必须键入:在mac上,如何添加路径到环境变量?

g++ -I /usr/local/include -L /usr/local/lib main.cpp 

我能做些什么,以避免打字-I和-L PARAMS?

+1

你不需要任何的这些 - 海湾合作委员会默认情况下自动搜索这些路径 - 只需键入'g ++ main.cpp ...' – 2012-07-31 11:33:29

创建一个Makefile:

CXXFLAGS=-I /usr/local/include -O3 -DSOMETHING 
LDFLAGS=-L /usr/local/lib 
LIBS=-lwhatever 

main: main.o 
    $(LD) -o [email protected] $* $(LDFLAGS) $(LIBS) 

main.o: main.cpp 

然后只需键入make在命令提示符下:

$ make 
+0

'CCFLAGS'应该是用于C++文件的'CXXFLAGS','LIBS'应该是'LDLIBS'。如果你这样做,那么你甚至不需要'main.o'和'main'的规则,隐式规则将会很好 – 2012-07-31 11:44:55

+0

@JonathanWakely谢谢;实际上它应该是'CXXFLAGS'。 – trojanfoe 2012-07-31 11:46:59

+0

是的我没有注意到它是一个C++文件。注: LIBS仍然是错误的,你仍然不需要目标 – 2012-07-31 11:49:29

trojanfoe几乎是正确的,但生成文件不使用传统的名字。如果有,那就更简单:

CXXFLAGS=-I /usr/local/include -O3 -DSOMETHING 
LDFLAGS=-L /usr/local/lib 
LDLIBS=-lwhatever 

随着该makefile文件,你可以只输入make main,并会利用其隐含规则编译一个C++文件

+0

有用,谢谢! – HanXu 2012-08-01 00:43:23