Keil C51 编译错误 undefined identifier

一、问题

使用Keil C51编译,总是提示编译错误

CUST_TASKS.C: ‘irDataPsn‘: undefined identifier

代码如下,irDataPsn明明定义了,还提示没定义,编译不过。

void vCUST_PSN_IrTask(IR_DATA_TYPE irData, IR_DATA_TYPE irData1)
{
    UINT8 ret;
    IR_DATA_TYPE irDataPsn;
    LogSD("vCUST_PSN_IrTask ", _MGetIrType());
    if(_MGetIrType()!=IRRX_PSN_TYPE)
    {
        LogD(irData);
        return;
    }
    IR_DATA_TYPE irDataPsn;

    irDataPsn = irData >> 24 + irData1 & 0x0000FFFF << 8;

二、解决

void vCUST_PSN_IrTask(IR_DATA_TYPE irData, IR_DATA_TYPE irData1)
{
    UINT8 ret;
    IR_DATA_TYPE irDataPsn;
    LogSD("vCUST_PSN_IrTask ", _MGetIrType());
    if(_MGetIrType()!=IRRX_PSN_TYPE)
    {
        LogD(irData);
        return;
    }
   // IR_DATA_TYPE irDataPsn;

    irDataPsn = irData >> 24 + irData1 & 0x0000FFFF << 8;

如上,要把定义写在最上面,编译通过。应该是C51编译器没那么强大,所以限制多。

原文地址:https://www.cnblogs.com/DaSunWarman/p/9136418.html

时间: 2024-11-06 07:37:05

Keil C51 编译错误 undefined identifier的相关文章

Android编译错误——undefined reference to

[错误描述] 未定义引用 提示如下:bootable/recovery/minzip/Zip.c:1122: error: undefined reference to 'selabel_lookup'bootable/recovery/minzip/Zip.c:1123: error: undefined reference to 'setfscreatecon'bootable/recovery/minzip/Zip.c:1129: error: undefined reference to

bullet, iOS真机编译错误error: identifier or immediate expression expected解决方法

刚才发现c3dEngine2(http://git.oschina.net/wantnon2/c3dEngine2 或 https://github.com/wantnon2/c3dEngine2)的bulletTest1 demo在iOS真机上编译不过,报error: identifier or immediate expression expected的编译错误. google了一下,找到下面帖子:http://www.bulletphysics.org/Bullet/phpBB3/view

XCode 6.4编译错误----Undefined symbols for architecture i386: &quot;_fwrite$UNIX2003&quot;

使用xcode在模拟器iphone4s和iphone5出现错误 编译时的错误描述: Undefined symbols for architecture i386: "_fwrite$UNIX2003", referenced from: 一开始感觉是.a文件没有单独编译i386,x86_64导致,重新编译后 lipo -info xxxx.a 发现.a文件即使支持i386,x86_64,但还是编译不通过. 网上查了一些资料后,发现解需要在工程中添加一个.c 文件 #include &

iOS:编译错误Undefined symbols for architecture i386: _OBJC_CLASS_$_XXX&quot;, referenced from: error

Undefined symbols for architecture i386: _OBJC_CLASS_$_XXX", referenced from: error 这个意思为无法找到名为XXX的类,进而还会导致一个无法连接的一个报错,只要把这个解决了就好了 既然没有这个类,我们就需要添加这个类 第一步: 选择项目文件,找到TARGETS 第二步: 选择 Build Phases 第三步: 选择 Compile Sources 第四步: 添加 XXX.m 类(切记,添加的是.m文件) 然后可能

xcode ___gxx_personality_v0&quot; 编译错误

xcode ___gxx_personality_v0" 编译错误 Undefined symbols for architecture i386: "___gxx_personality_v0", referenced from: ... 在XCODE工程 添加  libstdc++.dylib 即可

[ c++] cmake 编译时 undefined reference to `std::cout&#39; 错误的解决方案

cmake ..  和 make 之后,出现如下错误 Linking CXX executable ../../../bin/ModuleTest CMakeFiles/ModuleTest.dir/tmp.cpp.o: In function `main': /ModuleTest/tmp.cpp:4: undefined reference to `std::cout' tmp.cpp 内容如下 1 #include <iostream> 2 3 int main(){ 4 std::co

undefined reference to `clock_gettime&#39;编译错误的解决办法

解决办法如下 undefined reference to `clock_gettime'编译错误的解决办法

linux 编译错误:undefined reference to `__gxx_personality_v0&#39;

(1)编译 c++ 程序需要添加 -lstdc++ 如: gcc -lstdc++ -o test test.c 否则会报 "undefinedreference to '__gxx_personality_v0' " 错误 (2)用gcc命令编译C程序,用g++命令编译C++程序. g++和gcc本质一样的,本质上还是gcc,我们实验室所有的c++程序都是用gcc编译的,一般的程序用gcc足够了. 对于 C++ 程序,编译的时候用 gcc 或者 g++ 都可以.但是在进行连接的时候最

[转]PLS-S-00201, identifier &#39;CALLDEMO.GET_EMPLOYEES&#39; must be declared 预编译错误原因及解决办法

$ proc sample9.pc SQLCHECK=SEMANTICS Pro*C/C++: Release 11.2.0.1.0 - Production on Tue Jan 8 15:18:40 2013 Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved. System default option values taken from: /usr/local/oracle/produc