scons - SCons 在多个目录中查找文件
问题描述
所以我是 scons 的新手,在弄清楚如何查看多个目录时遇到了一些麻烦?
这是我目前的方法,适用于单个文件夹:
files = File([
'testfile.c',
'testfile_const.c',
'folder/testfile2.c',
'folder/testfile2_const.c'
])
dir = Dir('.')
env.Append(CPPPATH = dir)
env.Prepend(CPPPATH = dir.srcnode())
Return('files')
问题是,既然我已经把testfile2
它放在自己的文件夹中,我的 scons 脚本就会抱怨。如何在另一个目录中查找文件?
解决方案
如果您希望所有目录都成为 CPPPATH 的一部分,则需要显式添加它们。这可以通过使用 for 循环以您当前的方法非常简单地完成:
import os
# Use all C/C++ files in this folder
files = File([
'testfile.c',
'testfile_const.c',
'folder/testfile2.c',
'folder/testfile2_const.c'
])
# Add folder to search path
for file in files:
dirpath = os.path.dirname(file.path)
if not dirpath in env['CPPPATH']:
env.Append(CPPPATH = [dirpath])
Return('files')
推荐阅读
- cuda - 我可以获得用作 __nv_nvrtc_builtin_header.h 的内容吗?
- java - 有没有办法只刷新 Spring MVC Controller 中的视图?
- javascript - 如何在另一个数组中对属性上的对象数组进行抓取?
- python - 基于python提取文本文件数据
- c# - C# - 如何使用 ref 结构作为泛型类型参数?
- javascript - 在本地运行posenet的问题
- python - 我可以在 google meet 上运行机器人吗
- perl - 如何对“没有这样的文件或目录”错误采取措施
- html - CSS 过渡不适用于输入宽度
- azure - 尝试通过 Active Directory 访问 Azure Databricks API 时出现错误 403 用户未授权