我在向QAC配置中添加源文件时遇到了问题。经过多次尝试后,我发现问题在于调用QAC时定义为参数的包含太多。如果我会减少包含的数量,QAC配置就会通过。
我在makefile上试过这个:
@for f in $(filter-out $(QAC_EXCLUDE_FILES),$(QAC_SRC)); do \
echo " - $$f" 1>&2; \
$(QAC) admin -P $(QAC_DIR) -a -- $(QAC_DEF) $(QAC_D_PROJ) $(QAC_INC) $$f >/dev/null; \
done我还尝试运行一个命令,在命令提示符中只添加一个文件:
D:/Tools/PRQA_Framework_2.4.0/common/bin/qacli.exe admin -P D:/Output/qac -a -- -Itoo -Imany -Iincludes D:/Src/import.c我很确定整个命令行没有超过8191个字符的限制(大约是5500个字符)。
我和我的许多同事一样,使用我们共同的公司QAC配置,没有任何问题。在过去的几天里,我只是添加了一些新的包括。
结果总是一样的:
从makefile: /usr/bin/sh:
路径
但是,再次,如果我只是减少包括,一切顺利。
而且,我也不会说这是CMD的问题,因为我在构建过程中使用了相同的包含列表,没有任何问题!这只是QAC的一个问题。
我的设置是Windows10,MSYS2工具。
发布于 2021-10-15 11:19:56
在和我联系的QAC支持和更好的方式,如何向QAC提供所有信息是生成列表文件(一行=行源文件)与所有定义和包括。这种方式也比一个一个地传递源文件要快得多。
因此,文件列表qac_sources.txt (由makefile生成)可能如下所示:
D:/Project/a1.c -D__far_func= -IToo -Imany -Iincludes
D:/Project/a2.c -D__far_func= -IToo -Imany -Iincludes
D:/Project/a3.c -D__far_func= -IToo -Imany -Iincludes
D:/Project/a4.c -D__far_func= -IToo -Imany -Iincludes和:
D:/Tools/qacli.exe admin -P D:/Project/Output/qac -F D:/Project/Output/qac/qac_sources.txt希望这能帮上忙。
https://stackoverflow.com/questions/69409882
复制相似问题