我的公司將某些頭文件和庫保存在非標準(但不更改)的位置。Autotools AM_CPPFLAGS(和其他)被忽略?
我在試圖添加標題路徑到版本。如果我定義環境變量CPPFLAGS,我可以添加標題搜索路徑,並找到標題。但是,所有嘗試從configure.ac或src/Makefile.am中設置搜索路徑失敗。
在SRC/Makefile.am我試圖
AM_CPPFLAGS = -I/path/to/headers
,但沒有找到頭。我嘗試在configure.ac和Makefile.am中設置CPPFLAGS,但這不起作用。我試過
AC_SUBST(CPPFLAGS, ['-I/path/to/headers'])
使用和不使用單引號,也沒有運氣
我試過放在src/Makefile.am
main_CPPFLAGS = -I/path/to/headers
我寧願沒有設置一個環境變量。這需要額外的指令和額外的步驟來構建序列(和文檔)。任何想法我失蹤?
附錄
我忘了提,我在MacOS爲ARM主機(不是的iOS)交叉編譯。
以下是src/Makefile.am的消毒版本。目前它有幾種可能性。他們都沒有得到編譯器的-I標誌。設置CPPFLAGS環境變量確實獲取編譯器的-I標誌。
SUBDIRS = .
bin_PROGRAMS = main
main_SOURCES = first.h second.h main.cpp
main_LDADD = -lone -ltwo
main_CPPFLAGS = -I/path/to/headers
AM_CPPFLAGS = -I/path/to/headers
INCLUDES = -I/path/to/headers
您的'AM_CPPFLAGS = -I/path/to/headers'是正確的,它應該將-I選項傳遞給您的編譯器。我能想到的不是這樣的唯一原因是當你的automake版本很舊,或者因爲交叉編譯導致它與我以前的版本有所不同(我沒有使用autotools來交叉編輯)。 –