This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] 编译器/AM5726:CL6x 编译错误

Guru**** 2531950 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/833607/compiler-am5726-cl6x-compilation-error

器件型号:AM5726

工具/软件:TI C/C++编译器

大家好、

我尝试使用 SDK6 for Linux 中包含的 cl6x 编译器在我们一侧编译示例源代码。 在构建源文件时、它仅提供编译错误而不提供详细信息。 它几乎可以打印出来。

>>编译失败 

就是这样! 无其他输出等 如果您能提出任何建议、让编译器为故障提供更详尽的输出、我将不胜感激。  

此致、

穆斯塔法

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [引用 USER="Mustafa gonul]]我尝试使用 SDK6 Linux 中包含的 cl6x 编译器在我们的一侧编译示例源代码。 [/报价]

    您是从命令行还是 makefile 还是 CCS 进行构建? 您能否显示您使用哪种方法来构建的整个编译命令和输出的屏幕截图?

    传递给编译器的选项是什么? 尝试向编译器添加--verbose 选项,该选项应打印更详细的进度信息。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    感谢您的耐心、我无法在短时间内回复。  

    我通过注释代码(这是一个庞大的文件)来划分和克服问题、以找出问题所在。 问题是我无法编写和构建可变参数函数。 我还创建了从 printf_debug 派生的示例工程、该工程包含在 SDK 示例中。  

    variadic_main.cpp

    #include 
    
    extern "C"{
    extern int add_nums (int count、...);
    }
    
    int main (int argc、char * argv[])
    {
    int total = add_nums (4、1、2、3、4);
    
    printf ("总计:%d\n"、总计);
    
    返回0;
    } 

    variadic_target.c

    #pragma omp 声明目标
    #include 
    #include 
    #pragma omp end 声明目标
    
    int add_nums (int count、...)
    {
    INT RESULT = 0;
    int i = 0;
    
    va_list args;
    va_start (args、count);
    
    对于(i = 0;i < count;+i){
    结果+= va_arg (args、int);
    }
    VA_END (args);
    
    返回结果;
    }
    
    

    我使用 Makefile 而不是 CCS 构建示例。 在本示例中、我只需使用用于 printf_debug 的同一 makefile 文件。

    include ./make.inc
    
    aa_tc_opts=-O3
    ifeq ($(verbose)、1)
    aa_hc_opts=-O3 -Wexte -fopenmp
    oa_shell_opts=-v -k --exe="$(oa_hc_opts)"-ts"-tc="$(hc_tc_opt_opts
    
    =-ts"-ts"-opts
    =-ts"-fts_opts =-ts"-opt_ops"-ts"-opts =-ts"-opt_ops"-opts =-ts"-ts"-opt_ops"-ts"-opts =-ts"-opt_ops"-ts"-opt_ops"-ts"-ts"-opts =-
    
    
    
    =可变参数
    host_code= variadic_main.cpp
    target_code = variadic_target.c
    OBJS=$(patsubst %.EXE、%.o、$(host_code)
    
    $(EXE):$(OBJS)
    $(OA_shell)$(OA_shell_opts)$(OBJS)$(target_code)-o@
    
    
    
    
    
    @%.c (cp)$(np_clean)$(n_cp:$-xx (_cp)_opts:$(_cp (_cp)_cp (_cp (_cp)_cr %(_cr)_cp (_cp (_cr)_c
    

    您可以看到以下输出:

    ****为项目可变参数生成配置默认值****
    
    make verbos=1 -k
    
    arm-linux-gnueabihf-g++-O3 -c variadic_main.cpp
    clmp -v -k -hc="-o3 -Wall -Wextra -fopenmp"--tc="-o3" variad_main.o -v -k-hc=-hc=-ov-op3 -wtra -opopenmp"-wextendic>-wegrod:-degrod:-degrod:-vadic
    额外的调试选项>-odegrod:-v-odecht:-odecht:-op3 >
    
    可执行二进制文件名:variadic
    >> debug:input files:varadic_main.o variadic_target.c
    >> debug:arm 目标文件或归档文件:varadic_main.o
    >> debug:source code file:variadic_target.c
    >> debug:Using /home/mv/ti-processor-sdk-linux-rt-am57xx-evm-06.00.00.07/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/arm-linux-gnueabihf-gcc for host compilation。
    >>调试:使用/home/mv/ti-processor-sdk-linux-rt-am57xx-evm-06.00.00.07/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/arm-linux-gnueabihf-g ++进行主机编译。
    >>调试:使用/home/mv/ti-processor-sdk-linux-rt-am57xx-evm-06.00.00.07/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/cl6x 进行目标编译。
    >>调试:使用/home/mv/ti-processor-sdk-linux-rt-am57xx-evm-06.00.00.07/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/cl6x 进行 S2S 编译。
    >>调试:使用/home/mv/ti-processor-sdk-linux-rt-am57xx-evm-06.00.00.07/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/clocl 进行目标编译。
    cl6x --preinclude=/tmp/gcc_predefMbh6WP /lib/gcc/arm-linux-gnueabihf/8.3.0/include /lib/gcc/arm-linux-gnueabihf/8.3.0/../../../../arm-linux-gnueabihf/include --openmp:host -pds=1173 -i/home/mV/ti-processor-sdk-linux-am57xx-evm-06.00.07/linux-devkit/sysroots/armv7at2hf-none-linux-gnueabi/include -op3 -i/linux-sdk/linux-rf-nits/rf-nits/rf-nit-rf-natmv/linux-rf-natmv/evm/evm/rf-nit/linux-rf-nits/rf-nits/rf-nat-rf-nit-sdk/linux-rk/evm/rf-nit-rf-nit/linux-rk/rf-nit-rf-nit/linux-rk/rf-nit/rf-nat-rf-nit/linux-sdk/rf-nit/rf-nits/rf-nat/rf-nat/rf-nat/rf-nits/rf-nat/linux-rf-nits/rf-nat/evm/r /arm-linux-gnueabihf/libc/usr/include /lib/gcc/arm-linux-gnueabihf/8.3.0/include-fixed
    
    
    
    "varidadic_target.c"、第13行:警告:函数"__builtin_va_start"隐式声明
    "varidadic_target.c"、第13行:警告:变量"args"在其值设置"varadic_darget.c"之前使用、
    第
    16行:警告:函数"__builtin_va_arg"隐式声明"varidadic_target.c"、"ine.c"
    行: 函数"__builtin_va_end"隐式声明
    "varadic_target.c"编译中检测到1个错误。
    make:***[Makefile:46:variadic]错误1
    
    ****编译完成****
    

    如果您能在该问题上为我提供帮助、我将不胜感激。

    此致、

    穆斯塔法

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您的测试案例。  特别是因为...

    [引用 user="Mustafa gonul"]我通过注释代码(这是一个巨大的文件)来划分和克服问题,以找出问题所在。

    我确信这是一项非常重要的工作!  我可以重现问题。  我在 SDOWP 系统中提交了条目 CodeGen-6673以进行调查。  欢迎您在我的签名中使用下面的 SDOWP 链接进行访问。

    谢谢、此致、

    乔治

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    我想问是否有新的 SDK 版本或补丁版本? 我不熟悉这一程序。

    如果您能提供有关该程序的更多信息、我将不胜感激。

    此致、

    穆斯塔法

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    使用 AM57x 处理器 SDK 下载页面上的"通知我"功能

    谢谢、此致、

    乔治