linux代码没左值,【已解决】用arm-xscale-linux-gnueabi编译代码出错:error: lvalue required as unary ‘&’ operand...

在使用arm-xscale-linux-gnueabi交叉编译时遇到‘lvalue required as unary ‘&’ operand’错误。通过查看代码和xmlrpc_read_string API,发现参数问题。尝试去掉CONSTCHAR *,修改代码为:xmlrpc_read_string(&env, pResult, &pMoteStateResponse),成功解决了问题。原因可能是gcc版本或语法兼容性导致。" 126110058,12584345,Java面试基础题详解,"['Java', '面试', '基础', '多线程', '字符串']
摘要由CSDN通过智能技术生成

【问题】

用arm-xscale-linux-gnueabi交叉编译代码,结果出错:.././Src/xxx.c:707:32: error: lvalue required as unary ‘&’ operand

【解决过程】

1.直接去看代码:

706和707行的代码是:xmlrpc_read_string(&env, pResult,

&(CONSTCHAR *) pMoteStateResponse);

所以,先去找找xmlrpc_read_string,参考:

其api是:void

xmlrpc_read_string(xmlrpc_env * const envP,

const xmlrpc_value * const valueP,

const char ** const stringValueP);

然后手动去改代码为:// xmlrpc_read_string(&env, pResult,

// &(CONSTCHAR *) pMoteStateResponse);

xmlrpc_read_string(&env, pResult,

&((CONSTCHAR *)pMoteStateResponse));

编译看看,是否有效,结果问题依旧。

2.参考了:

稍微更清楚这个lvalue=左值=左边的值了

注意到此处,已经定义了该变量为CONSTCHAR了:CONSTCHAR *pMoteStateResponse = NULL;

...

// xmlrpc_

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值