簡體   English   中英

如何在 Makefile 中定義多個包含路徑

[英]How to define several include path in Makefile

C++ 新手; 基本了解包含、庫和編譯過程。 還做了幾個簡單的 makefile。

我當前的項目涉及使用一個 informix DB api,我需要在多個非標准目錄中包含頭文件。 怎么寫呢? 沒有在網上找到任何東西,可能是因為我沒有使用好的搜索詞

這是我嘗試過的一種方式(不工作)。 只是為了顯示生成文件

LIB=-L/usr/informix/lib/c++
INC=-I/usr/informix/incl/c++ /opt/informix/incl/public

default:    main

main:   test.cpp
        gcc -Wall $(LIB) $(INC) -c test.cpp
        #gcc -Wall $(LIB) $(INC) -I/opt/informix/incl/public -c test.cpp

clean:
        rm -r test.o make.out

您必須在每個目錄前加上-I

INC=-I/usr/informix/incl/c++ -I/opt/informix/incl/public

您需要對每個目錄使用-I 但是如果您使用 (GNU) make 的foreach ,您仍然可以用空格分隔目錄:

INC=$(DIR1) $(DIR2) ...
INC_PARAMS=$(foreach d, $(INC), -I$d)

Make 的替換功能很好,幫我寫了

%.i: src/%.c $(INCLUDE)
        gcc -E $(CPPFLAGS) $(INCLUDE:%=-I %) $< > $@

您可能會發現這很有用,因為它也會要求make檢查包含文件夾中的更改

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM