获取编译文件的列表,并由Make Project包含
Get list of file compiled and included by make project
我有一个相当大的制作文件项目(C ),它取决于环境变量构建某些文件,而忽略了我的源目录中的其他文件。
我想生成一个用当前环境设置在制造过程中实际使用的文件列表。IE。我想将所有源文件汇总,并包含所有标头文件。
我要这样做的原因是要能够将所有文件添加到qtcreator项目中,因此只能在我的项目中获取相关文件。
我知道我已经做了一些事情,但是现在我似乎在互联网上的任何地方都找不到它。
编辑:我很确定,这应该是可能的,而无需编辑makefile,并且由于制造系统的复杂性,在这种情况下这是可取的。该项目中涉及很多Makefiles。
本身没有办法做到这一点。
通常,添加一个名为" List_files"的目标或类似的目标:
.phony: list_files
list_files:
echo $SOURCES
调整以适合包含您的来源列表的变量。
要列出特定文件中包含的文件,您需要使用:
.phony: list_includes
list_includes:
${CXX} -MM $SOURCES
(这不会列出系统文件中的标题 - 使用单个M选项-M
提供包含的每个文件的完整列表,但这通常无用,并且会列出很长的列表)
"使"本身打印其执行的所有命令。只需用" CPP"answers" H"过滤器来抓住它们:
make |grep -o -e "w*.cpp" -e "w*.h"
-o
参数仅打印匹配部分,而不是整个行。需要打印匹配的源文件名。
相关文章:
- std::regex:匹配由数字和空格组成的字符串,并提取数字.如何?
- "Make"失败并出现 Clang 错误 - 如何从 Clang 获得错误?
- cv::resize() 失败并出现访问冲突错误(由 NULL> 处的 <struct 引起)
- 如何删除由节点组成的树,并相互指向彼此的指针?
- 获取由空格分隔的未知大小的单行输入,并将其存储到整数数组中
- 是否很好地定义了强制转换为仅由 char[] 组成的结构并从该数组读取?
- 延长函数的寿命延长 由 const& 获取参数并由 const& 返回
- 从 CSV 文件读取并尝试将数据加载到由结构组成的矢量中
- 更改对象并将其在同一表达式中使用它是不确定的行为,但是子表达式由逗号运算符分开
- C 程序要读取包含两个双重值的Excel数据的单列,这些值由逗号分隔并存储在自己的数组中
- 如何构建库并将其与Make链接在一起
- 使用 make test 运行程序并直接调用它时出现奇怪的行为 ./prog
- 用G 和Make编译并链接来自不同文件夹的许多源文件
- 获取编译文件的列表,并由Make Project包含
- Template类,并强制某些方法由User实现
- 我需要保护一个由一个线程编写并由多个线程读取的变量吗
- 如何使用 scanf 从用户输入中获取字符串 ( char * ),由双引号分隔并包含空格
- c++更改目录并运行make
- 通过std::map的迭代顺序是否已知(并由标准保证)
- 名称空间中的两个对象将由不同的函数默认初始化,并由名称空间中的类使用