如何去掉引用js报错的红叉

工程下.project 中这两个配置即可。取消js的自身检查
代码

    <?xml version="1.0" encoding="UTF-8"?>  
    <projectDescription>  
        <name>bswz</name>  
        <comment></comment>  
        <projects>  
        </projects>  
        <buildSpec>  
            <!--<buildCommand>  
                <name>org.eclipse.wst.jsdt.core.javascriptValidator</name>  
                <arguments>  
                </arguments>  
            </buildCommand>
            -->  
            <buildCommand>  
                <name>org.eclipse.jdt.core.javabuilder</name>  
                <arguments>  
                </arguments>  
            </buildCommand>  
            <buildCommand>  
                <name>org.eclipse.wst.common.project.facet.core.builder</name>  
                <arguments>  
                </arguments>  
            </buildCommand>  
            <buildCommand>  
                <name>org.eclipse.wst.validation.validationbuilder</name>  
                <arguments>  
                </arguments>  
            </buildCommand>  
        </buildSpec>  
        <natures>  
            <nature>org.eclipse.jem.workbench.JavaEMFNature</nature>  
            <nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>  
            <nature>org.eclipse.wst.common.project.facet.core.nature</nature>  
            <nature>org.eclipse.jdt.core.javanature</nature>  
            <!--<nature>org.eclipse.wst.jsdt.core.jsNature</nature>-->  
        </natures>  
    </projectDescription>  

 

<think>我们在处理Keil编译报错问题时,需要根据错误类型进行诊断。根据引用资料,报错主要分为两类:第一类:语法错误(如缺分号等),这类错误会在错误信息中直接定位到具体行号,但有时实际错误可能在定位附近。第二类:链接错误(未定义符号等),通常由函数未定义、重复定义或源文件未加入工程引起。用户描述的现象是“大量报错且无红叉”,这通常属于第二类链接错误,因为语法错误在编辑时就会有红色波浪线提示(红叉)。但有时也可能是其他配置错误。结合引用资料,分析可能的原因及解决方案:1.**未包含必要的源文件**(如引用[1]中Led.c未加入工程):-检查所有报“undefinedsymbol”错误的函数/变量所在的.c文件是否已加入工程。-解决方案:在Keil的工程窗口中,右键点击“SourceGroup”选择添加文件,将缺失的.c文件加入工程。2.**启动文件配置错误**(引用[2]):-修改芯片型号后,启动文件(如startup_stm32f10x_xx.s)可能需要重新选择或配置。-检查条件编译宏(如STM32F10X_HD)是否正确定义,需在全局宏定义中设置(OptionsforTarget→C/C++选项卡→Define中定义)。3.**头文件路径未设置**:-若报错找不到头文件,需添加头文件路径:OptionsforTarget→C/C++选项卡→IncludePaths。4.**工程配置错误**(引用[3]提及恢复默认配置):-尝试恢复工程配置默认值:Project→Manage→ProjectItems→点击“SetasDefaultforNewProjects”。-删除自动生成的文件(如Objects文件夹内的.o和.axf等),然后执行Rebuild。5.**硬件连接问题**(引用[3]提及接触不良):-虽然主要发生在调试阶段,但若在编译时出现异常错误,可检查硬件连接是否稳定(尤其使用ST-Link等调试器时)。6.**其他可能**:-中断号定义冲突(引用[2]中的InterruptNumber条件编译问题)。-重复定义:检查是否有同名函数或全局变量在多处定义。**逐步解决建议**:1.观察第一个报错信息(通常是最关键的)。2.如果报错包含“undefinedsymbol”,按步骤1解决。3.如果报错涉及启动文件或中断向量表,按步骤2解决。4.尝试清理工程(Project→CleanTargets)并重新编译。5.若仍不解决,按步骤4恢复默认配置并重新添加文件。若以上步骤无法解决,请提供具体的报错内容以便进一步分析。</think> ### Keil编译出现大量报错但无红叉的原因分析及解决方案 #### 原因分析 1. **链接阶段错误**(核心原因): - 如引用[1]所述:$.\Objects\TEST1.axf: Error: L6218E$ 类错误属于链接错误 - 这种错误在代码编辑界面不会显示红叉❌,只会在编译输出窗口显示 - 典型表现: - 函数未定义(Undefined symbol) - 源文件未加入工程 - 库文件缺失 2. **宏定义配置错误**: - 如引用[2]所示:芯片型号变更后未更新宏定义($STM32F10X_HD$等) - 条件编译分支错误导致中断向量表不匹配 3. **工程配置损坏**: - 如引用[3]提及:调试配置异常可能影响编译行为 - 自动生成文件(.o/.axf)残留冲突 #### 解决方案 1. **检查链接错误**(首要步骤): ```c /* 在报错位置添加缺失的函数声明 */ extern void Missing_Function(void); // 引用[1]类错误解决方案 ``` - 确认所有.c文件已加入工程(Project→Add Files) - 检查库文件路径:Options→C/C++→Include Paths 2. **更新芯片宏定义**: - 步骤: 1. Project→Options for Target 2. C/C++选项卡 → Define输入框 3. 根据实际芯片添加:$STM32F10X_HD$ 或 $STM32F10X_MD$(引用[2]) 3. **工程重置操作**: - 清理工程:Project→Clean Targets - 删除中间文件:手动删除Objects和Listings文件夹 - 恢复默认配置:Project→Manage→Set as Default(引用[3]) 4. **启动文件校验**: - 检查启动文件(startup_stm32*.s)是否匹配芯片型号 - 更新方法: ``` \Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm ``` 5. **重建工程结构**(终极方案): - 新建空白工程 - 重新添加: - Core源文件(system_stm32f10x.c等) - 外设驱动文件 - 用户代码 - 重新配置编译选项 › 操作提示:编译后按F1定位错误行,但需注意引用[1]指出的特点——实际错误可能在定位点附近±5行内。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值