首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >试图将太多的包含传递给QA-C失败

试图将太多的包含传递给QA-C失败
EN

Stack Overflow用户
提问于 2021-10-01 17:28:49
回答 1查看 74关注 0票数 0

我在向QAC配置中添加源文件时遇到了问题。经过多次尝试后,我发现问题在于调用QAC时定义为参数的包含太多。如果我会减少包含的数量,QAC配置就会通过。

我在makefile上试过这个:

代码语言:javascript
复制
@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

我还尝试运行一个命令,在命令提示符中只添加一个文件:

代码语言:javascript
复制
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:

  • 调用:-c:第3行:语法错误:来自CMD: CreateProcess error=3的文件
  • 调用的意外结束,系统无法找到指定的

路径

但是,再次,如果我只是减少包括,一切顺利。

而且,我也不会说这是CMD的问题,因为我在构建过程中使用了相同的包含列表,没有任何问题!这只是QAC的一个问题。

我的设置是Windows10,MSYS2工具。

EN

回答 1

Stack Overflow用户

发布于 2021-10-15 11:19:56

在和我联系的QAC支持和更好的方式,如何向QAC提供所有信息是生成列表文件(一行=行源文件)与所有定义和包括。这种方式也比一个一个地传递源文件要快得多。

因此,文件列表qac_sources.txt (由makefile生成)可能如下所示:

代码语言:javascript
复制
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

和:

代码语言:javascript
复制
D:/Tools/qacli.exe admin -P D:/Project/Output/qac -F D:/Project/Output/qac/qac_sources.txt

希望这能帮上忙。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69409882

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档