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.

[参考译文] 编译器:重建所有RTS库vi CMD和mklib失败

Guru**** 2539500 points
Other Parts Discussed in Thread: TI-CGT

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/574687/compiler-rebuild-all-rts-libraries-vi-cmd-and-mklib-fails

主题中讨论的其他部件:TI-CGT

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

尊敬的专家:

如果您有任何提示可以解决以下生成问题,请告诉我:

编译器:16.9 C:\ti\ccsv6\tools\compiler\ti-CGT-arm_LTS.1.LTS

当尝试使用"mklib --all"通过CMD构建所有运行时支持库时,我收到以下错误信息:

===

C:\Users\a40.6467万>CD C:\ti\ccsv6\tools\compiler\ti-CGT-arm_LTS.1.LTS\lib 16.9

C:\ti\ccsv6\tools\compiler\ti-CGT-arm_mklib.1.LTS\lib>mklib 16.9 --all
armcl catrigf.c -O4 --diag_warning=225 --quiet -mv7A8 --fp_mode=strict --no_vis
iable_enums --abi=eabi -c --ti_lib --keep_unneeded_types=false  --c99 -ic:/ti/cc
sv6/tools/compiler/ti-cGT~2.lts/lib/src -fr c:/users/a40.6467万/appdata/local/temp
/ti9e0c~1/obj -fs c:/users/a40.6467万/appdata/local/temp/ti9e0c~1/obj -ft c:/users
/a40.6467万/appdata/local/temp/ti9e0c~1/obj -ppa -ppd --pp_directory=c:/users/A040
6467/appdata/local/temp/ti9e0c~1/obj
process_begin:CreateProcess (NULL,armcl catrigf.c -O4 --diag_warning=225 --quie
t -mv7A8 --fp_mode=strict --no_visible_enums --abi=eabi -c --ti_lib --keep_unnee
ded_types=false --c99 -ic:/ti/ccsv6/tools/compiler/ti-cGT~2.ls/lib/src -fr c:/u
sers/a40.6467万/appdata/local/temp/ti9e0c~1/obj -fs c:/users/a40.6467万/appdata/loca
l/temp/ti9e0c~1/obj -ft c:/users/a40.6467万/appdata/local/temp/ti9e0c~1/obj -ppa -
ppd --pp_directory=c:/users/a40.6467万/appdata/local/temp/ti9e0c~1/obj,...)故障
D.
make (e=2):系统找不到指定的文件。
Makefile:1789:目标'c:/Users/a40.6467万/appdata/local/temp/ti9e0c~1/的配方
obj/Catrigf.obj'失败
gmake.exe:***[c:\users/a40.6467万/appdata/local/temp/ti9e0c~1/obj/catrigf.obj] e.
镜像2.
>>错误:mklib:gtmake error during rtsv7A8_a_be_eabi.lib build

C:16.9 \ti\ccsv6\tools\compiler\ti-CGT-arm_LTS.1.LTS\lib>

===

谢谢,此致,

Rogerg

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

    有关mklib的Wiki文章中有 一节介绍了疑难解答。  请查看其中一个提示是否有用。

    谢谢,此致,

    -George

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

    您好,George,

    我以前见过此维客页面,并且检查了路径中有关引号的提示或gmake,cygwin,MKS的依赖项。

    但不幸的是,无论我做什么wrt path,我仍然看到相同的错误消息。 我还尝试在我同事的另一台计算机上运行"mklib --all",结果出现了完全相同的错误信息。


    您是否可以自行重现该问题,或者它是否适合您?

    非常感谢,致以诚挚的问候,

    格雷戈

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

    ROGERG 说:
    您是否可以在您这边重现该问题,或者该问题是否适合您?[/QUOT]

    不幸的是,这对我来说是可行的。

    谢谢,此致,

    -George

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如果您运行"armcl"时没有参数,您会看到什么?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    考古学家,您好!

    不确定我是否理解,您是否希望我在"ti-CGT-arm_arm.1.LTS/bin" 16.9 位置运行"armcl"?

    如果是这样,则输出中将不带任何参数:

    ===

    C:16.9 \ti\ccsv6\tools\compiler\ti-CGT-arm_arm.1.LTS\bin>armcl
    TI ARM C/C++编译                  器16.9 v.1.LTS
    工具版权所有(c) 1996-2015 Texas2015 Texas Instruments Incorporated

    用法:armcl [-options]文件名

    使用'armcl -h <option>'获取有关特定选项的更多信息。  使用
    'armcl -h <text>'用于搜索选项以获取有关<text>的信息。

    由[]包围的选项参数声明它们是可选的。  选项参数
    用逗号分隔指定必须从中选择选项的参数
    这些论点都列出了。

    显示时,选项参数和默认值同时应用于long和的用法
    短选项表单。

    处理器选项:
     -mv,--silicon_version=4,5e,6,6M0,7A8,7M3,7M4,7R4,7R5
                                  目标处理器版本(未指定时,
                                   编译器默认为--silit_version=4)
     --code_state=16,32          指定代码状态,16位(拇指)或32位
     --float_support=VFPv2,VFPv3,VFPv3D16,vfplib,fpalib,FPv4SPD16
                                  指定浮点支持
     -me,--litte_endian         小endian代码

    优化选项:
     -O,--opt_level[=off,0,1,2,3,4]
                                  优化级别(参数可选,默认值
                                   至:3)
     --opt_for speed,-mf[=0-5]   速度与大小的权衡 (参数可选,
                                   默认为:4)
     --fp_mode=令 人放松,严格    浮点模式(未指定时,
                                   编译器默认为--fp_mode=strict)

    包括选项:
     --include_path,-i=dir       将目录添加到#include搜索路径
     --preinclude=filename       指定一个preinclude文件

    ULP顾问选项:
     --advication:POWER[=rule]       启用ULP电源规则检查(参数
                                   可选,默认为:全部)
     --advice:POWER_severity=error,warning,remark,suppress
                                  设置ULP电源规则的错误类别

    预定义符号选项:
     --define,-D=name[=value]    预定义名称
     --undefine,-U=名称          取消定义名称

    控制选项:
     --Compile_only,-c           禁用链接(覆盖-z)
     --help,-h                   显示帮助屏幕
     --run_linker,-z[=arguments] 使用以下选项执行链接
     --skip_assembler,-n         仅编译;不汇编

    高级调试选项:
     -g,-symdebug:dwarf         full symbolic debug
     --symdebug:none             禁止生成所有符号调试
     --symdebug:dwarf_version=2,3,4
                                  指定dwarf版本

    语言选项:
     --C89                       编译程序在ANSI C89模式下。
     --c99                       编译程序在C99模式下。
     --c++03                     编译程序在C++03模式下。
     --reparse_ansi,-pr          轻松解析(非严格ANSI)
     --strict_ansi,-ps           strict ansi模式(错误)
     --Exceptions                启用C++异常处理
     --rtti,-rtti                Support C++运行时类型信息
     --cppp_default,-FG           将C文件视为C++文件
     --extern c_c_can_throw        允许外部C函数传播异常
     --float_operations_allowed=all,32,64,无
                                  编译器接受的浮点精度
                                   (未指定时,编译器默认为
                                   --float_operations_allowed=all)
     --plain_char=signed,unsigned指定如何处理普通字符
                                   (签名/未签名)(如果未指定,则为编译器
                                   缺省值为--plain_char=unsigned)
     --pending_instalations=#  限制挂起的模板实例化
     --printf_support=nofloat,minimal,full
                                  需要printf/scanf支持的级别(如果不需要
                                   指定,编译器默认为
                                   --printf_support=full)

    解析器预处理选项:
     --preproc_dependency,-ppd[=filename]
                                  生成包含文件相关性信息
     --preproc_includes,-ppi[=文件名]
                                  生成一级包含文件列表
     --preproc_macros,-ppm[=filename]
                                  生成预定义和用户定义的宏列表
     --preproc_only,-PPO         Preprocess only
     --preproc_with注释,-PPC 仅预处理;维护注释
     --preproc_with编译,-ppa 使用-pp<X>选项后继续编译。
     --preproc_with行,-ppl    仅预处理;维护行指令

    诊断选项:
     --compiler_revision         打印编译器修订版并退出
     --diag_error,-pdse=id       将诊断<id>视为错误
     --diag_remark,-pdsr=id      将诊断<id>视为备注
     --diag_suppress,-pds=id     抑制诊断<id>
     --diag_warning,-pdsw=id     将诊断<id>视为警告
     --diag_wrap[=on,off]        后续处理诊断消息(参数可选,
                                   默认为:开)
     --display_error_number,-pden发出诊断标识符编号
     --EMIT_WARNINS_AS错误,-pdew
                                  将警告视为错误
     --issone_remarks,-pdr        问题备注
     --no_warnings,-PDW          抑制警告
     --quiet,-q                  安静模式
     --set_error_limit,-pdel=count
                                  将错误限制设置为<count>
     --super_quiet,-QQ           超级安静模式
     --tool_version,-version     打印每个工具的版本号
     --verbose                   显示横幅和函数进度信息
     --verbose_diagnostics,-PDV  详细诊断
     --write_diagnostics_file,-pdf
                                  将诊断输出到.err文件

    运行时模型选项:
     --gen_func_sections,-ms[=on,off]
                                  将每个函数放在单独的小节中
                                   (参数可选,默认为:开)
     --use_dead funcs_list[=fname]
                                  使用链接程序生成的文件删除失效文件
                                   功能
     --gen_data_Subsections=on,off
                                  将结构和数组放在单独的子部分中
     --embedded_constants=on,off 指定是否可以将常量嵌入
                                   代码段(如果未指定,则为编译器
                                   默认为--embedded_constants=on)
     --unalignment_access-access =开,关   生成未对齐的载荷和储存(当不是时
                                   指定,编译器默认为
                                   --unalignment_access-off)
     --neon                      生成针对Neon的SIMD指令
     --enum类型=unpacked,packed,int
                                  指定枚举类型(未指定时,
                                   编译器默认为--enum类型=packed)
     --wchar_t=16,32             设置C/C++类型wchar_t的大小(以位为单位)
                                   (16,32)(未指定时,编译器缺省值
                                   到--wchar t=16)
     --common=on,off             使用ELF常用符号
     --global_register,-r=R5,R6,R9
                                  保留为全局寄存器
     --ramfunc[=on,off]          从RAM运行函数。 (参数可选,
                                   默认为:开)
     --stack_overflow_check,-mo  启用动态堆栈溢出检查

    高级优化选项:
     --fp_reassoc=on,off         允许重新关联FP算术(如果不是
                                   指定,编译器默认为
                                   --fp_reassoc=关)
     --sat_reassoc=on,off        允许SAT算术重新关联(如果不是
                                   指定,编译器默认为
                                   --sat_reassoc=关)
     --program_lever_compile,-pm 程序模式编译
     --call_假 设,-op=0-3  在优化时指定呼叫假设
     --auto_inline,-oi[=size]    指定自动内联的阈值
     --disable_inlining          禁用内联
     -               假定多线程多线程
     --aliased_variables,-ma     假定调用的函数创建隐藏别名(罕见)

    进入/退出挂钩选项:
     --entry_hook[=hook_function_name]
                                  在每个函数的条目处插入此调用
                                   (参数可选,默认为:__entry_hook)
     --exit_hook[=hook_function_name]
                                  退出每个函数时插入此调用
                                   (参数可选,默认为:__exit_hook)
     --entry_parm=name,address,none
                                  将呼叫者的姓名或地址传递给入口挂钩
     --exit_parm=name,address,none
                                  传递呼叫者的姓名或地址以退出挂机
     --remove_hooks_when内联从内联函数中删除入口/出口挂钩

    反馈和分析选项:
     --gen_profile_info          生成配置文件反馈数据
     --analyze=codecov,调用图 从配置文件数据生成分析信息
     --analyse_only              仅生成分析
     --use_profile_info[=filelist]
                                  使用个人资料反馈文件

    汇编程序选项:
     -k,-kee_asm               保留生成的汇编语言(.ASM)文件
     --asm_listing,-al           生成列表文件
     --c_src_interlist,-ss       生成C源代码交叉列出的程序集文件
     --src_interlist,-s          生成包含在其中的程序集文件
     --asm_define,-ad=name[=value]
                                  预定义装配体符号名称
     --asm_undefine,-au=name     取消定义装配体符号名称
     --absolute_listing,-aa      生成绝对列表文件
     --ASM_cross_reference_listing
                                  生成交叉参考装配体列举文件
     --ASM_Dependency,-APD[=filename]
                                  生成程序集相关性信息
     --ASM_includes,-API         生成一级程序集的include文件列表

    文件类型说明符选项:
     --asm_file,-fa=filename     文件是汇编文件(默认为.asm)
     --c_file,-fc=filename       文件是C文件(默认为.c/no ext)
     --cpp_file,-fp=filename     File是C++文件(默认为.C .cpp .cc)
     --obj_file,-fo=filename     File是一个目标文件(默认为.obj)

    目录说明符选项:
     --abs_directory,-fb=dir     绝对列表目录(默认为.obj dir)
     --asm_directory,-fs=dir     Assembly文件目录(默认为。)
     --list_directory,-ff=dir    Listing/xref文件目录(默认为.obj
                                   目录)
     --obj_directory,-fr=dir     对象文件目录(默认为.)
     --output_file,-Fe=filename  编译输出文件名,可以覆盖
                                   --obj_directory
     --pp_directory=dir          预处理程序文件目录(默认为。)
     --temp_directory,-ft=dir    临时文件目录(默认为.)

    默认文件扩展名选项:
     --asm_extension,-ea=.ext    assembly文件的扩展(默认为.asm)
     --c_extension,-EC=.ext      C文件的扩展(默认为.c)
     --cppp_extension,-ep=.ext    C++文件的扩展(默认为.cpp)
     --listing_extension,-es=.ext列出文件的扩展名(默认为.lst)
     --obj_extension,-eO=.ext    目标文件的扩展名(默认为.obj)

    命令文件选项:
     --cmd_file,-@=文件名      从指定文件读取选项

    Misra-C:2004选项:
     --check_Misra[=rule]        启用MISRA-C:2004规则的检查(参数
                                   可选,默认为:全部)
     --Misra_advisor=error,warning,remark,suppress
                                  设置MISRA 'Advisory '规则类的严重性
     --Misra_required=error,warning,remark,suppress
                                  设置MISRA 'required'规则类的严重性

    补充信息选项:
     --gen_cross_reference_listing
                                  将交叉引用列表输出到.crl文件
     --gen_func_info_listing-生成     函数信息列表文件
     --gen_opt_info,-on=0-2      生成级别的优化器信息文件
                                   [0-2]
     --gen_preprocessor_listing.rl  文件的输出预处理程序列表
     --section_sizes[=on,off]    输出节大小摘要信息。
                                   (参数可选,默认为:开)

    可以在-z之后指定以下链接器选项
    选项。  仅当使用-z而不使用-c时才启用链接:

    基本选项:
     -m,--map_file=文件          中列出的链接信息(MAP)
     -o,--output_file=file       指定输出文件名
     --heap_size,-heap,--heap=size
                                  C/C++动态内存分配的堆大小
     --stack_size,-stack,--stack=size
                                  设置C系统堆栈大小
     --cinit_hHold_WDT[=on,off]   在cinit期间保持监视程序计时器
                                   自动初始化(参数可选,
                                   默认为:开)

    文件搜索路径选项:
     -l,--library=file           将库文件或命令文件作为输入
     -i,--search_path=dir        将<dir>添加到库搜索路径
     --priority,-priority        按优先级顺序搜索库
     --reread_libs,-x            重读库;解析反向引用
     --disable_auto_RTS          禁用自动RTS选择

    命令文件预处理选项:
     --define=name=value         预定义预处理程序宏_name_到_value_
     --undefine =名称             取消定义预处理程序宏_NAME_
     --disable_pp                不要对命令文件使用C预处理程序

    诊断选项:
     --diag_error=id             将诊断<id>视为错误
     --diag_remark = id            将诊断<id>视为备注
     --diag_suppress=id          抑制诊断<id>
     --diag_warning=id           将诊断<id>视为警告
     --diag_wrap[=on,off]        后续处理诊断消息(参数可选,
                                   默认为:开)
     --display_error_number      发出诊断标识符编号
     --EMIT_WARNINS_AS错误,-pdew
                                  将警告视为错误
     --issone_remarks             问题说明
     --no_demangle               不在诊断中要求符号名称
     --no_warnings               禁止警告
     --set_error_limit=count     将错误限制设置为<count>
     --verbose_diagnostics       详细诊断
     --warn_sections,-w          如果创建了未指定的输出部分,则发出警告

    链接器输出选项:
     --absolute_exe,-A           生成绝对可执行的目标文件
                                   (默认)
     --ecc:data_error=(address|symbol+offset),[page,]bitmask
                                  引入位错误
     --ecc:ecc_error=(address|symbol+offset),[page,]bitmask
                                  在ECC内存中引入位错误
     --generate_dead funcs_list[=fname]
                                  将已删除的失效函数列表到文件中
     --mapfile_contents=attribute在映射文件中显示属性设置
     --relocatable,-r            产生一个可重定位的输出模块
     --run_abs,-abs              生成绝对列表文件
     --xml_link_info,-xml_link_info=file
                                  详细的链接信息数据库到<文件>

    Symbol管理选项:
     --entry_point,-e=symbol     指定输出的程序入口点
                                   模块
     --globalize=pattern         不本地化匹配模式的符号
     --hide=pattern              隐藏匹配图案的符号
     --localing=pattern          使符号与pattern匹配
     --make全局,-g=symbol     如果-h是静态的,则不会使全局符号变成静态
                                   指定
     --make静态,-h            使所有全局符号都是静态的
     --no_sym_merge,-b           符号调试中没有类型合并
                                   信息
     --no_symtable,-s            去除符号表和行号条目
     --retain=sym_or_scn_spec    指定要保留的符号/部分
                                   链接器
     --scan_librariat,-scanlibs  扫描重复符号定义的库
     --symbol_map=refname=defname指定符号映射,将refname映射到defname
     --UNDEF_SYM,-u=sym          将<sym>作为未解析的符号表添加到符号表中
                                   符号
     --unhide=pattern            从隐藏中排除与pattern匹配的符号

    运行时环境选项:
     --arg_size,--args=size      设置C argc/argv内存大小
     --be32                      链接BE-32格式的big-endian代码
     --be8                       链接BE-8格式的big-endian代码
     --cinit_compression [=rle,lzss,off]
                                  压缩ELF C型自动初始化数据
                                   (参数可选,默认为:lzss)
     --copy_compression[=rle,lzss,off]
                                  压缩使用复制表复制的ELF部分
                                   (参数可选,默认为:lzss)
     --fill值,-f=       值输出节中孔的默认填充值
     --ram_model,-cr             链接使用RAM自动初始化模型
     --rom_model,-c              使用ROM自动初始化模型的链接
     --trampolines[=on,off]      生成远调用trampolines (参数
                                   可选,默认为:开)

    其他选项:
     --compress_dwarf[=on,off]   主动减小dwarf的大小
                                   信息(参数可选,默认为:
                                   开)
     --disable_clink,-j          禁用条件链接并忽略.clink
     --linker _help,-help,--help  显示使用信息
     --minimaling_trampolines[=postorder, off]
                                  选择Trampoline最小化算法
                                   (参数可选,默认为:postorder)
     --preferred_order=function  将<function>添加到首选放置顺序列表
     --stricy_compatibility[=on,off]
                                  严格的兼容性检查(参数
                                   可选,默认为:开)
     --trampoline_min_spacing=size
                                  非相邻蹦床之间的最小间距
     --unused_section_elimination[=on,off]
                                  删除可执行文件中不需要的部分
                                   (参数可选,默认为:开)
     --zero_init[=on,off]        零初始化ELF未初始化的部分
                                   (参数可选,默认为:开)

    C:16.9 \ti\ccsv6\tools\compiler\ti-CGT-arm_LTS.1.LTS\bin>

    ===

    谢谢,此致,

    格雷戈

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

    ROGERG 说:
    不确定我是否理解,您是否希望我在"ti-CGT-arm_ROGERG.1.LTS/BIN" 16.9 位置运行"armcl"?

    不,我的意思是从运行mklib --all的同一目录运行armcl,即ti-CGT-arm_arm.1.LTS/lib 16.9 目录。  我正在尝试确定当您运行mklib时,搜索路径中是否有armcl

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    好的,理解。 看来没有。 我收到以下消息:

    C:\ti\ccsv6\tools\compiler\ti-CGT-arm_arm.1.LTS\lib>armcl 16.9
    'armcl'不被识别为内部或外部命令,
    可操作程序或批处理文件。

    是否要将“C:\ti\ccsv6\tools\compiler\ti-CGT-arm_PATH 16.9 .1.LTS\bin”添加到PATH环境变量?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    考古学家,
    非常感谢您的提示! 添加上述路径解决了问题。 图书馆正在建设中。

    谢谢,此致,
    格雷戈