簡體   English   中英

MAKE的GCC標志從哪里傳遞?

[英]Where are the GCC flags for MAKE being passed from?

我正在本地進行現有項目。 我是該項目的新手,所以我按原樣使用提供的make文件。 我修改了一些代碼,運行了make ,並通過了構建。

當我將更改推送到github時,自動的Travis CI構建會檢測到編譯錯誤。

在StackOverflow上搜索錯誤后,我發現這是C ++ 11之前的版本中的錯誤,但C ++ 11及更高版本中沒有錯誤。

這意味着我的本地make必須在啟用C ++ 11標志的情況下進行編譯,而在服務器上構建的Travis CI構建時不使用該標志。

理想情況下,我希望本地構建條件與服務器構建條件相匹配,以便在推送之前可以檢測到任何錯誤。

我在哪里可以看到為我的本地make操作傳遞給GCC的標志,還是有其他方法可以顯式禁用C ++ 11編譯標志?

假設您有一些all目標,用於建立主要目標:

all: (some dependencies)
    (some commands)

為了確保在構建時使用了哪些標志,可以添加一些虛擬依賴項:

all: (some dependencies) showflags
    (some commands)

showflags:
    @echo "CXXFLAGS=$(CXXFLAGS)"
    @echo "CPPFLAGS=$(CPPFLAGS)"

至少您將能夠看到使用了哪些選項。

暫無
暫無

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

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