使用cygwin64编译ardupilot时候,在libraries中自己新建个文件夹例如AP_Dronecan,在编译过程中不读这个文件夹里的任何文件
时间: 2024-09-20 21:14:01 浏览: 62
Cygwin 安装 基本使用 交叉编译vivi kernel.doc
当你在使用Cygwin64环境下编译Ardupilot(一个开源自动飞行控制器项目)时,如果想要在`libraries`目录下自建一个名为`AP_Dronecan`的文件夹,并且希望编译过程不包含这个新文件夹中的任何库文件,你需要在编译命令行或Makefile中采取一些措施。
首先,你需要确认你的Makefile或者其他构建脚本是如何处理头文件搜索路径的。通常情况下,Ardupilot会查找预设的库路径,如`include`或`src`等。如果你不希望它访问`AP_Dronecan`,你需要修改这部分配置,比如添加一个排除规则:
```makefile
# 假设原本的头文件搜索路径是这样的
CPPFLAGS += -Iinclude
# 添加排除特定目录的规则,这里假设我们想排除AP_Dronecan
EXCLUDE_DIRS = AP_Dronecan
CPPFLAGS_EXCLUDE := $(foreach dir, $(EXCLUDE_DIRS), -isystem $(dir) )
# 现在更新CPPFLAGS,使其不包含排除的目录
CPPFLAGS += $(CPPFLAGS_EXCLUDE)
```
接下来,确保你的源代码引用了其他地方的库,而不是直接引用`AP_Dronecan`中的内容。如果有必要,可以在`AP_Dronecan`之外创建所需的公共头文件,并从其他正确位置导入。
请注意,这将仅影响当前的编译阶段,对于运行时环境,如果你已经把`AP_Dronecan`的依赖项打包到了程序中,它们仍会被动态链接到。
阅读全文