Fedaora14 下编译xerces+icu

Suse Linux平台下XML4c解析库支持GB2312编码问题解决过程 一、背景:    原来在Unix平台解析XML协议时使用的IBM公司的XML4c开发包,XML4c开发包本身起源于apache的开源项目Xercesc-C,IBM公司在Xercesc-C的基础上增加了多达150多种字符编码格式的支持;后来需要将操作系统由原来的Unix移植到Linux,因此需要得到支持Suse-Linux的Xml解析库。 二、寻找的过程在登录到IBM关于XML4 阅读详情

Fedaora14 下编译xerces+icu

Xerces 是解析xml的库。

使用icu可以支持中文。

 

下载ICU和xerces 软件

官网是:http://www.icu-project.org/

或ftp://ftp.software.ibm.com/software/globalization/icu/3.4下载icu-3.4.tgzx.

 

本从已经下载了icu4c-3_6-src.tar 和xerces-c-3.1.1.tar

编译icu

首先编译安装icu.  默认是在64位编译,如果需求32位编译,请参与网上其他的帖子。

1.      解压icu.  Tar -xficu4c-3_6-src.tar  解压出的目录为:icu

 

2.      设置环境变量

Export ICUROOT=xxx/xxx/xml/icu64

Echo $ICUROOT

Export LIBPATH=xxx/xxx/xml/icu64/lib:LIBPATH

Echo $LIBPATH

Export PATH=xxx/xxx/xml/icu64/bin:$PATH

Echo $PATH

 

3.      Cd到步骤1解压出来的目录icu下的source目录.  Cd /xxx/icu/source.

4.      Configure

./Configure --prefix=xxxx/xxx/xml/icu64 --disable-shared --enable-static

5.      Gmake

6.      Make install

 

可能会报错误:

ParagraphLayout.cpp:801:6:错误: #elif 后没有表达式

本文直接到错的文件里,在#elif 后加上班1. 即#elif 1. 永远为真。

 

 

编译xerces

编译xerces 的步骤与icu类似:

1.  解压xerces-c-3.1.1.tar  解压出的目录是xerces-c-3.1.1

Tar -xf xerces-c-3.1.1.tar

 

2.  设置环境变量

Export XERCESROOT=xxx/xxxx/xerces-c-3.1.1

设置为xerces-c解压出来的目录。

Export LIBPATH=xxx/xxxx/xerces-c-3.1.1:$LIBPATH

3.  Cd 到xerces-c-3.1.1.

4.  Configure --enable-transcoder-icu --endable-msgloader-icu--prefix=/xxx/xxx/xml/xerces --disable-shared

5.  Gmake

6.  Make install

 

 

验证:

看看能不能转换成汉字编码,如失败,运行示例会有下列错误:

Could not create a converter fpr encoding:GBK

 

编译成功后,可使用XERCESROOT/bin/运行demo

./SAX2Pirnt –x=GBK test.xml

  

 

Makefile 环境

可以看一下安装目录的include 和lib

Cd /xxx/xxx/xerces;ls

有include 和lib以及bin目录:

其中lib目录下面有2个文件和一个目录pkgconfig:

Libxerces-c.a  libxerces-c.la  pkgconfig

 

Libxerces-c.la 和pkgconfig其实说明makefile里面要如何添加路径和参数。

把lib 和include 两个文件cp到工程目录下。

在makefile中加入库xerces-c

如L../libxml/xerces-c  -lnsl –lpthread–lcurl

注意:这里要加上-lnsl –lpthread –lcurl. 在libxerces-c.la里有说明。否则demo会编译不过

包括头文件路径:

如I../inc_xml

 

这样,xerces+icu就应用到工程中了。

linux 信号量编程 linux 信号量编程     信号量可以管理资源,实现资料的互斥。如多进程下实现一块共享内存区域的互斥等。     信号量也是一种ipc机制,所以管理的方式也是用key来管理。     linux里的信号量是一个集合,每个集合里可以管理一个资源。如: 一个集合里可以有n个元素,每个元素可以管理一个资源。 比如编号为0的信号量0,表示资源数据为1. 这个值可以在创建信号量集合的时候设 阅读详情

相关推荐

QV_1791504590577.mp4

QV_1791504590577.mp4

用 VC.NET 2003 (VC7.1) 编译 Xerces-c 2.7 和 ICU 3.6.

用 VC.NET 2003 (VC7.1) 编译 Xerces-c 2.7 和 ICU 3.6.Xerces-c 是Apache的XML项目, 具有良好的跨平台性,但支持的字符集比较少. 内部表达用 UTF-16. 但对于XML文件解析,支持的字符集比较少.ICU 是IBM 维护的一套稳定成熟、功能强大、轻便易用和跨平台支持Unicode 的开发包.将 Xerces和ICU结合起来可以实现实现

Kelvin ZENG 1937

volatility 内存取证工具

volatility 内存取证工具,用于内存分析

xerces-c和icu编译

 大伙在linux/unix上估计遇到过很多关于编码转换的问题,我也遇到了,在csdn上发了很多帖子,结果都没人给出一个好的解决办法,郁闷啊,经过不断的测试和摸索,最后在hu-unix-i11上解决了汉字编码转换的问题,在linux和别的平台上应该是类似的.最开始遇到的问题就是不能转换汉字编码,运行示例的时候遇到如下的错误信息:Could not create a converter fo

小蜜蜂的专栏 6967

YOLO26算法皮革表面缺陷检测+训练好的模型+124张数据集+pyqt可视化界面.zip

附训练好的 YOLO 权重与 PyQt 可视化检测界面,页面底部含可视化效果预览,毕设/课设开箱即用。 【数据集概况】 · 检测类别(中文):[颜色(color), 切(cut), 折叠(fold), 胶水(glue), 好的(good), 戳(poke)] 【训练曲线与评估图】 【模型训练配置】 参数 | 值 模型 | yolo26n 训练轮数 | 100 epochs 输入尺寸 | 640x640 批次大小 | 24 优化器 | auto 初始学习率 | 0.01 训练设备 【关键指标汇总】 训练了 68 个 epoch,最终轮指标: 指标 | 数值 mAP50 | **0.7582** mAP50-95 | 0.4306 Precision | 0.6226 Recall | 0.6520 train/box_loss | 0.8731 train/cls_loss | 2.3543 val/box_loss | 1.3709 val/cls_loss | 3.9767 【训练过程分析】 从一开始的配置就定下了基调,训练配置包括了 yolo26n 模型、100 个 epoch,学习率初始设为 0.01,输入尺寸定为 640x640,批次大小为 24。这组配置在开始阶段表现得不错,模型刚开始训练时的 loss 降低得很快,这表明模型能够迅速从数据中吸收信息。但到了中后期,loss 曲线变得愈发平缓,从第 50 个 epoch 开始,即使我增加了学习率衰减的频率,仍然感到曲线在挣扎,像是陷入了平台期。这期间模型的收敛节奏明显减缓,似乎有些“停滞不前”的迹象。到了最后,模型确实收敛了,但在第 68 个 epoch 时 mAP50 获得了 0.7582 的值,这是一个不错的成绩,但与理想值相比仍有提升空间。... 使用场景:毕业设计、课程设计、深度学习入门、工业场景落地验证。

视频编码压缩11111

视频编码压缩11111

libiconv android编译,编译cBPM-android-19—CodeBlocks—CentOS7— ndk10—编译libiconv和xerces-c...

-------------- Build: Debug Win32 in Criteria.Libraries.bOS (compiler: GNU ARM GCC Compiler For Android)---------------步骤(问题)1:/usr/include/gnu/stubs.h:7:27: fatal error: gnu/stubs-32.h: No such file ...

weixin_35397676的博客 564

两相交错并联Boost电路仿真模型(Simulink仿真实现)

内容概要:本文详细介绍了基于Simulink平台构建的两相交错并联Boost电路的仿真模型,系统阐述了该拓扑结构在提升系统效率、降低输出电流纹波以及改善动态响应特性方面的技术优势。文中涵盖了主电路架构设计、双闭环控制策略(电压环与电流环)的实现原理、关键参数(如电感、电容、开关频率)的选取依据,并通过仿真结果验证了控制方案的有效性与稳定性。该模型突出展示了多相交错技术在功率变换器中的应用价值,有助于深入理解现代电力电子系统的设计思路与优化方法,适用于新能源发电、储能系统及高效率DC-DC变换器的研发场景。; 适合人群:具备电力电子技术基础理论知识和Simulink仿真操作经验的电气工程、自动化、能源动力等相关专业的本科高年级学生、研究生,以及从事电源变换器设计与开发的工程技术人员。; 使用场景及目标:① 掌握两相交错并联Boost电路的工作机理及其在减小输入/输出电流纹波中的作用;② 学习并实践双闭环反馈控制策略的设计与调试方法;③ 利用仿真模型开展控制器参数优化,提升系统的稳态精度与抗扰动能力,为后续硬件原型开发提供理论支撑与设计参考。; 阅读建议:建议读者结合仿真模型逐步操作,重点关注交错控制时序、占空比分配、电感电流交错现象及环路补偿设计,对照理论分析进行波形观测与参数调整,深化对多相并联拓扑动态特性的理解,并将其迁移应用于实际工程问题中。

makefile的和gcc参数

makefile的和gcc参数 今天建个程序工程,需求了解一下makefile的和gcc参数。 首先看一下我使用了makefile $cat ../rule.mk #rule.mk version= $(shell cat $(base_dir)/VERSION | perl -pechomp) cpp= xlC cppflag = -g -q64 -D_VERSION="\"$(

hardworkba的专栏 1436

三相维也纳Vienna整流器电流过零畸变消除仿真模型【三种消除方法】(Simulink仿真实现)

内容概要:本文档围绕“三相维也纳Vienna整流器电流过零畸变消除仿真模型”展开,详细提供了基于Simulink平台实现的三种电流过零畸变抑制方法的仿真模型,旨在解决Vienna整流器在实际应用中由于开关死区效应、器件非理想特性等因素导致的输入电流在过零点附近出现波形畸变的问题,从而提升功率因数和系统效率。文档配套包含9kW三相三开关Vienna PFC整流器的Mathcad计算书,支持用户根据不同功率等级和电压规格进行系统级参数设计与优化。此外,资源还整合了双闭环控制策略、中点电压平衡控制、空间矢量脉宽调制(SVPWM)等关键技术的仿真模型,形成了一套完整、可复用的Vienna整流器控制系统研究与开发体系,适用于高性能电力电子变换器的研发与教学实践。; 适合人群:具备电力电子、自动控制或电气工程等相关专业背景,熟悉Matlab/Simulink仿真环境,正在从事高功率因数整流器、PFC电路、新能源发电、电动汽车充电系统或工业电源研发的研究生、科研人员及工程技术人员。; 使用场景及目标:①深入理解Vienna整流器电流过零畸变的产生机理及其对系统性能的影响;②对比分析并验证三种畸变抑制方法在不同工况下的控制效果与适用范围;③开展高效率、高功率因数整流系统的建模、控制器设计与仿真验证工作;④支撑高水平学术论文撰写、科研项目申报或实际工程项目的技术预研与方案论证。; 阅读建议:建议首先利用Mathcad计算书完成主电路参数设计,随后在Simulink中搭建或修改相应的控制模型,通过设置不同负载与输入条件,对比分析各方案下输入电流THD、功率因数、中点电位波动等关键指标,深入掌握控制算法的动态响应特性和鲁棒性,同时可结合双闭环架构与中点平衡策略进一步优化系统整体性能。

机器人具有扰动抑制功能的有限时间基于方位角的领航者-跟随者编队控制(Matlab代码实现)

内容概要:本文档名为《Plecs全桥LLC谐振变换器仿真模型.txt》,但其实际内容并非围绕该主题展开,而是作为一份优快云博客或科研资源共享平台的文章汇总清单,集中展示了多个工程技术领域的仿真研究与算法实现。涵盖的主要方向包括电力电子(如LLC谐振变换器、VSC-HVDC、PMSM控制)、电力系统优化(潮流计算、微电网调度、无功优化)、智能优化算法(遗传算法、粒子群优化、NSGA-II、多元宇宙算法等)、控制理论(模型预测控制、卡尔曼滤波、滑模控制)、信号与图像处理(故障诊断、雷达SAR成像、双目视觉测距)、无线通信与传感器网络、无人机路径规划与多智能体编队控制、车间调度、深度学习应用(LSTM、CNN、DQN)等。所有条目均基于Matlab/Simulink或Python实现,强调提供完整的仿真模型、源代码、参考文献及详细说明文档,便于用户直接下载与复现。该文档本质为“荔枝科研社”团队发布的科研技术服务推广目录,旨在展示其在多学科仿真建模方面的技术积累与资源服务能力; 适合人群:具备一定工程背景和编程基础的研究生、高校教师、科研人员以及从事自动化、电气工程、控制科学与工程、计算机科学、通信工程、智能制造等相关领域的技术人员; 使用场景及目标:①为科研工作者提供成熟的算法实现方案与仿真模板,显著降低课题开发与论文复现的时间成本;②辅助完成课程设计、毕业设计、科技竞赛(如数学建模大赛)、期刊论文复现等任务;③推动先进控制策略、智能优化算法和数据驱动方法在电力系统、智能制造、无人机集群、新能源管理等前沿领域的应用研究与成果转化; 其他说明:所有资源均通过百度网盘或微信公众号“荔枝科研社”免费提供下载,配套资料齐全,包含仿真模型、可运行代码、论文参考文献、技术文档等,支持快速部署、结果验证与二次开发,适用于教学、科研与工程实践场景。

条件编译的一个作用

条件编译的一个作用   条件编译的一个作用是用于处理文件之间的关系。使其在同一个文件中不被重复包含。 如果文件的关系是这样:    A  /     \ C   D  \ /   B 上面的文件有关系,C中包含A,D中包含A。 B中要包括C和D,这样条件编译就可把在预处理阶段去掉重复包含文件A。   $ cattest1.h #ifndef__A__H__ #defin

hardworkba的专栏 1227

基于单串电池保护IC:DW01-A/J开发的Battery Charger ,支持瞬态100A电池供电能力,适用于儿童 大脚车类

文件内含:原理图、PCB gerber、BOM,以及SMT位置文件,已验证完毕,可直接生产。

全局变更使用及编译

全局变更使用及编译 最近在弄自已的一个库文件,里面有一个函数用到几个全局变量。 编译时,老是放重定义的错误,调试花了我不了时间。 这是很基础的问题,自己没有重视。回到最初的起点,重新理解一下基础的问题。 一般来说,声明放在.h头文件里面,而定义放在cpp文件里。 有必要弄清楚声明和定义间的区别: 变量的声明就是告诉编译器有这么一个变量,声明是不分配存储空间。如externint x

hardworkba的专栏 882

从零开始:使用Labelme完成图像语义分割标注全流程

本文详细介绍了如何使用Labelme工具完成图像语义分割标注的全流程,从环境安装、数据准备到核心标注操作,并重点讲解了如何将标注结果转换为PASCAL VOC等深度学习框架可用的标准数据集格式。文章还提供了关键的避坑指南和高效技巧,帮助初学者快速上手,高效产出高质量的标注数据。

weixin_29073241的博客 492

Unity获取透明物体深度数据

Unity获取透明物体深度数据前言透明&景深需求模型透明度部分带透明通道图片/视频部分半透明模型获取深度的具体实现方法带透明度图片/视频获取深度的具体实现方法结束语 前言 最近在做的项目有很多奇怪的需求,甚至之前在unity里用插件写了一个类似于蓝图的行为树插件,之后有时间给大家讲一讲相关的实现方法,今天刚解决了unity里透明物体无法获得深度数据的问题。所以分享给大家。 透明&景...

可以吃的妙脆角的博客 2632

union联合体

union联合体是一个很有用工具。 先看union联合体的描述: 在The C Programming Language里面讲述union内存分配的原话是 1)联合体就是一个结构 2)联合体的所有成员相对于基地址的偏移量为0 3)此结构空间要大到总够容纳最“宽”的成员 4)并且,其对其方式要适合于联合体中所有类型的成员   可以看出,联合体简单理解是多个不同类型共享一份地址空间的结

hardworkba的专栏 761

冰河木马实验(V8.4)

简述: 百科词条 冰河木马开发于1999年,跟灰鸽子类似,在设计之初,开发者的本意是编写一个功能强大的远程控制软件。但一经推出,就依靠其强大的功能成为了黑客们发动入侵的工具,并结束了国外木马一统天下的局面,跟后来的灰鸽子等等成为国产木马的标志和代名词。 冰河的服务器端程序为G-server.exe,客户端程序为G-client.exe,默认连接端口为7626。其中攻击者使用G-client.e...

野原新之助 1万+

一道关于free的面试题

<br />2). void Test(void){<br />char *str = (char *) malloc(100);<br />strcpy(str, “hello”);<br />free(str);<br />if(str != NULL){<br />strcpy(str, “world”);<br />printf(str);<br />}<br />}<br />请问运行Test 函数会有什么样的结果?<br />答:输出“world”<br /> <br />C并不明确禁止use-

hardworkba的专栏 555

【速通版!语义通信基础与前沿学习计划】

🧠语义通信基础与前沿学习计划

dally2的博客 1412

Miniconda3迁移(附图详细过程)

服务器上目录占满,想要将conda迁移到其他目录下的操作方法,详细教程。

2301_77554343的博客 6942
上一篇: 安装qt
下一篇: GDB调试精粹及使用实例
hardworkba
博客等级 码龄18年 11粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值