[英]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.