有可能指示g ++以递归方式搜索头文件的文件夹吗? 在我的例子中,我想要g ++来搜索
/ ARDrone_SDK_2_0_1 / ARDroneLib /柔和/
以及头文件的所有子目录。 可以这样做吗? 这是一个简单的Makefile
示例:
C=g++ CFLAGS=-c -Wall LDFLAGS= INC1=/ARDrone_SDK_2_0_1/ARDroneLib/Soft/ <- can this be recursive? INCDIRS= -I${INC1} SOURCES=src/dronevid.cpp OBJECTS=$(SOURCES:.cpp=.o) EXECUTABLE=build/dronevid all: $(SOURCES) $(EXECUTABLE) $(EXECUTABLE): $(OBJECTS) $(CC) $(LDFLAGS) $(OBJECTS) -o $@ .cpp.o: $(CC) $(CFLAGS) $(INCDIRS) $< -o $@
这个问题有点混乱,因为你把两个不同的工具, make
和g++
混为一谈。
没有办法让g++
搜索给定目录的所有子目录。 必须在命令行上使用-I
标志单独指定要用于查找包含文件的每个目录。
如果你愿意,你可以使用make
来构造这些参数并将它们放在命令行中。 假设您使用的是GNU make,以及支持find
命令的类UNIX系统,您可以执行以下操作:
INCDIRS := $(addprefix -I,$(shell find /ARDrone_SDK_2_0_1/ARDroneLib/Soft -type d -print))
我应该先说一下,这不是一个好主意。 您不知道这些目录将显示在哪个顺序中,并且您不知道在不同目录中是否存在可能导致问题的相同头文件的多个副本。
通常,子目录中的头文件的工作方式是将顶级目录添加到编译行,然后在代码中使用#include
行中的相对路径。 就像是:
#include
然后加:
-I/top/level/dir
到g++
编译行。
以上就是c/c++开发分享我可以在目录和子目录中搜索头文件吗?相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/c-cdevelopment/560482.html