Я унаследовал систему сборки, которая использует autoconf и automake для сборки.Я совсем не знаком с тем, как это работает, кроме как на высоком уровне.
Сама система сборки работает нормально.Однако много предупреждений генерируется из системных заголовков.В моем случае wxWidgets.Причина этого в том, что каталог включения wxWidgets передается как -I вместо -isystem
.Я искал в Интернете, но не могу найти, как это изменить.
Следующий код находится в файле configure.ac
:
AM_OPTIONS_WXCONFIG
AM_PATH_WXCONFIG(3.0.2, wxWin=1, , ,[--debug=yes])
if test "$wxWin" != 1; then
AC_MSG_ERROR([
wxWidgets must be installed on your system
but no wx-config script could be found.
Please check that wx-config is in path, the directory
where wxWidgets libraries are installed as returned by
'wx-config --libs' is in the linker path (LD_LIBRARY_PATH
or equivalent variable) and wxWidgets version is 2.9.4 or
above.
])
fi
if test "$wxWin" != 0; then
AC_DEFINE(HAVE_WXWIDGETS,1,[define if the wxWidgets 3.0.2. or higher is available])
fi
Тогда есть Makefile.am
, которыйделает следующее:
bin_PROGRAMS = project
project_SOURCES = {sources here}
project_CPPFLAGS = $(AM_CPPFLAGS) $(PROJECT_CPPFLAGS) $(WX_CPPFLAGS)
project_CFLAGS = $(AM_CFLAGS) $(PROJECT_CFLAGS) $(WX_CFLAGS)
project_CXXFLAGS = $(AM_CXXFLAGS) $(PROJECT_CXXFLAGS) $(WX_CXXFLAGS)
project_LDFLAGS = $(AM_LDFLAGS)
project_LDADD = $(AM_LIBADD) $(WX_LIBS)
Не представляется возможным, чтобы я мог каким-либо образом указать его в качестве системного заголовка.
Кто-нибудь из вас знает, как я могу справиться с этим?