如何在Makefile中定义多个包含路径
C++ 新手;对包含、库和编译过程有基本的了解。还做了一些简单的 makefile。
我当前的项目涉及使用 informix DB api,并且我需要在多个非标准目录中包含头文件。那要怎么写呢?在网上没有找到任何东西,可能是因为我没有使用好的搜索词
这是我尝试过的一种方法(不起作用)。只是为了显示 makefile
LIB=-L/usr/informix/lib/c++
INC=-I/usr/informix/incl/c++ /opt/informix/incl/public
default: main
main: test.cpp
gcc -Wall $(LIB) $(INC) -c test.cpp
#gcc -Wall $(LIB) $(INC) -I/opt/informix/incl/public -c test.cpp
clean:
rm -r test.o make.out
New to C++; Basic understanding of includes, libraries and the compile process. Did a few simple makefiles yet.
My current project involves using an informix DB api and i need to include header files in more than one nonstandard dirs. How to write that ? Havent found anything on the net, probably because i did not use good search terms
This is one way what i tried (not working). Just to show the makefile
LIB=-L/usr/informix/lib/c++
INC=-I/usr/informix/incl/c++ /opt/informix/incl/public
default: main
main: test.cpp
gcc -Wall $(LIB) $(INC) -c test.cpp
#gcc -Wall $(LIB) $(INC) -I/opt/informix/incl/public -c test.cpp
clean:
rm -r test.o make.out
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您必须在每个目录前面加上
-I
:You have to prepend every directory with
-I
:您需要对每个目录使用
-I
。但如果您使用 (GNU) make 的foreach
,您仍然可以用空格分隔目录:You need to use
-I
with each directory. But you can still delimit the directories with whitespace if you use (GNU) make'sforeach
:Make 的 替换 功能很好,帮助我编写
您可能会发现这很有用,因为它也要求
make
检查包含文件夹中的更改Make's substitutions feature is nice and helped me to write
You might find this useful, because it asks
make
to check for changes in include folders too