vs2010中编译了log4cxx之后怎么使用

vs2010中编译了log4cxx之后怎么使用,第1张

7.在6的基础下dos窗口下继续输入:configure-aprutil.bat回车

8、进入D:\log4cxx_compile\apr-util\include中并找到apu.hw文件,如下图

9、用Notepad++打开apu.hw文件(记事本也可以)

手动修改 apr-util\include\apu.hw里的桥顷内容

#define APU_HAVE_APR_ICONV1

改为

#define APU_HAVE_APR_ICONV0

10. 使用VS2010打开 apache-log4cxx-0.10.0\projects 下的 log4cxx.ds

打开工程会提示转换:

11、转换好后工程如下图:

12、敏租陆将 log4cxx设置为启动项.

13.开始编译.log4cxx

出现

4>D:\log4cxx_compile\apache-log4cxx-0.10.0\src\main\include\log4cxx/spi/loggingevent.h(155):error C2252: 只能在命名空间范围内显式实例化模板

a) 双击型磨 "输出"窗口中的错误行, 此时会在 "代码窗口" 中出现错误的位置.如下图:

b) 选择 LOG4CXX_LIST_DEF, 按键盘 F12,此时会跳转到该宏的定义,如下图:

void SpiWriteRegister (uchar reg, uchar value)

{

RF_NSEL = 0 // 片选拉低启动SPI通讯

SPI0DAT = (reg|0x80) // 写入1个字节寄存器地址

while( SPIF == 0) // 等待SPI传输完成

SPIF = 0

SPI0DAT = value // 继续写入第二个字节(寄存器值)

while( SPIF == 0) // 等待SPI传输完成

SPIF = 0

RF_NSEL = 1 // 片选拉高结束SPI通讯

}

//-----------------------------------------------------------------------------

//函数描述: SPI读取函数

//相关参数:

//返回信息:

//

//-----------------------------------------------------------------------------

uchar SpiReadRegister (uchar reg)

{

RF_NSEL = 0// 片选拉低启动SPI通讯

SPI0DAT = reg // 写入1个字节的寄存器地址

while( SPIF == 0) // 等待SPI传输完成

SPIF = 0

SPI0DAT = 0xFF // 写一个Dummy字节(因为要读取的话必须用写入来启动一个交换数据的传输),当写入完成后从机的数据也完成了读入。

while( SPIF == 0) // 等待SPI传输配段完成

SPIF = 0

RF_NSEL = 1 // 片选拉高结束SPI通讯

return SPI0DAT// 返回读取的值(在SPI0DAT=0xFF中完成读取)

}

需要注意的是读写 *** 作实际上完成的都是数据的交换,即主机传送1个字节给从机,从机同时传送1个字节给主机。所以读 *** 作看起来像是写数据,但实际上培没誉写入完成后就可以从SPI0DAT中获得从机的察销应答数据了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12548965.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存