如何从加入-I停止automake的。我编译行?
题
如何从加入-I停止automake的。我的编译行?
看来的automake或libtool的对象总是具有类似于编译命令:
g++ -DHAVE_CONFIG_H -I. -I./proj/otherdir -o myprog.o myprog.c
的问题是,我有具有相同名称的两个头文件....
./proj/otherdir/Header.h
./proj/thisdir/Header.h
每个报头具有一个指定的头类,虽然每个是在不同的命名空间。所以,当我建立在./proj/thisdir的“-I”。被包括在内,我不能得到在./proj/otherdir头
我不知道如何摆脱最初的“-I”。出现。
任何提示?
由于 Chenz
解决方案
所有你需要做的Makefile.am设置
DEFAULT_INCLUDES =
,然后将所有在世界上良好。
Chenz
其他提示
如果您的API包括不同的报头时,我写
#include <Header.h>
这使得该API混乱且容易出错。
为什么不定义API像
#include <thisdir/Header.h>
和
#include <otherdir/Header.h>
然后如果需要的话,你甚至可以同时参考报头相同的源文件英寸你会从阅读包括线它实际上包括刚刚知道。
看的configure.ac或configure.in为您的应用程序,应该在那里。
它不摆脱-I,但你可以把相对路径在您的#include
指令:
#include "../otherdir/Header.h"
#include "../thisdir/Header.h"
不隶属于 StackOverflow