我在fortify模式下运行linux上的构建。以下命令在构建
中运行str()
当我运行此操作时,我收到错误/usr/local/packages/fortify_360/bin/sourceanalyzer -Xmx1512M -b FORTIFY -Dcom.fortify.sca.ProjectRoot=/ade/ka/dbss/utl/fortify -jdk 1.5 -c /ade/ka_View_12.2/xa/bin/orscript -o /ade/ka/xa/dbsa/bin/avorclcoll -m64 -z noexecstack -Wl,--disable-new-dtags -L/ade/ka/xa/dbsa/lib/ -L/ade/ka/xa/lib/ -L/ade/ka/xa/lib/stubs/ /ade/ka/oracle/dbsa/lib/zaorclmain.o -lclntsh -lclntshcore -lclient12 -lavclient12 -lnnz12 -lmql1 -lipc1 -ldl -lm -lpthread -lnsl -lrt -lc -Wl,-R
但如果我用gcc替换脚本Unrecognized or invalid command line argument '-o'
,它可以正常工作
我的脚本/ade/ka_View_12.2/xa/bin/orscript
有以下代码,在此代码中我只有一个变量CC = gcc和" $ @"参数
/ade/ka_View_12.2/xa/bin/orscript
请帮忙,我一直在努力解决这个错误:(
答案 0 :(得分:1)
运行以下命令检查C / C ++构建的帮助:
sourceanalyzer -h
您将看到有几种方法可以在C / C ++代码上运行扫描。一种是直接调用编译器,这与您示例中的成功案例相对应。如果你想使用make(或你的" orscript")之类的构建脚本,那么你应该使用touchless
参数,例如:
sourceanalyzer -Xmx1512M -b FORTIFY -Dcom.fortify.sca.ProjectRoot=/ade/ka/dbss/utl/fortify touchless /ade/ka_View_12.2/xa/bin/orscript {args}
注意:您也不需要指定-jdk
参数,因为您没有分析Java代码。