AGM AG32VF 增加编译目录:
在开发中,往往会按照功能来划分模块,并用多个目录来存储。
这里说明如何建立多个目录来进行编译。
- 如果新增文件在原有路径,则会被自动关联编译进去;
- 如果新增一个目录文件,则要把该目录加入到编译选项中;
如果该目录存放 C 文件: 在 src_filter 中增加该目录
如果该目录存放 h 文件:在 src_build_flags 中增加该目录
举例:
在项目里新增一个文件夹 testFolder 到 user 目录下,里边有.c 和.h,要全部编译进去。
原先的 src_filter 和 src_build_flags 对应如下:
src_filter = “-<> +<.c> +<print/.c> "
src_build_flags = -Iuser -Iuser/print
那么,增加 testFolder 后要变为:
src_filter = "-<> +<.c> +<print/.c> +<testFolder/*.c>”
src_build_flags = -Iuser -Iuser/print -Iuser/testFolder
注意: 在 src_filter 和 src_build_flags 中,都可以使用相对路径。他们的相对路径
是相对于 src_dir/ include_dir 定义的那个路径。
另外, *是通配符,如果不让某个 C 进入编译,则用: -<testFolder/nowork.c>
以上是操作说明,在实际应用中,客户遇到了一些操作上的问题,以下是海振远科技分享的技术解答。
Q: user目录是哪个文件夹?
HZY: src文件夹;
Q: 这个调用报错怎么解决?
客户做了修改:
另外,也尝试了src_build_flags = -Iuser -Imoudle,但是未解决。
Reply:
HZY: moudle 这个是在哪个目录下?
Customer: src下
HZY: user是在哪里?
Customer: 没有user.
HZY:
src_build_flags = -Isrc/moudle
这个
相对于工程目录(platformio.ini)所在目录.
Customer: 设置后,这里申明还是报错,编译好像是succeed.
HIZYUAN:
vscode的intellisend没有更新 这种情况可以通过菜单 文件->关闭目录 然后重新打开目录。
还不行的话 删掉.vscode这个目录
再重新打开目录.
Customer:
问题顺利解决了。
更多技术交流的咨询,欢迎访问海振远科技的技术动态页面获取。