【发布时间】:2018-08-27 10:05:49
【问题描述】:
我继承了一个使用 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)
似乎没有一个选项可以让我以某种方式将其指定为系统标头。
你们中有人知道我该如何解决这个问题吗?
【问题讨论】:
-
您的意思是“-isystem”(带有小写“i”)吗?至少它是由 GCC 提供的,尽管它的使用并不常见。
-
@JohnBollinger 是 -isystem
标签: c++ autotools autoconf include-path