我使用OpenCV的Mac上,我每次編譯程序的時候,我必須鍵入:在mac上,如何添加路徑到環境變量?
g++ -I /usr/local/include -L /usr/local/lib main.cpp
我能做些什麼,以避免打字-I和-L PARAMS?
我使用OpenCV的Mac上,我每次編譯程序的時候,我必須鍵入:在mac上,如何添加路徑到環境變量?
g++ -I /usr/local/include -L /usr/local/lib main.cpp
我能做些什麼,以避免打字-I和-L PARAMS?
創建一個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
'CCFLAGS'應該是用於C++文件的'CXXFLAGS','LIBS'應該是'LDLIBS'。如果你這樣做,那麼你甚至不需要'main.o'和'main'的規則,隱式規則將會很好 – 2012-07-31 11:44:55
@JonathanWakely謝謝;實際上它應該是'CXXFLAGS'。 – trojanfoe 2012-07-31 11:46:59
是的我沒有注意到它是一個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++文件
有用,謝謝! – HanXu 2012-08-01 00:43:23
你不需要任何的這些 - 海灣合作委員會默認情況下自動搜索這些路徑 - 只需鍵入'g ++ main.cpp ...' – 2012-07-31 11:33:29