在 64 位的 CentOS 6.8 上使用 Mini-XML 时要注意的问题
来源:互联网 发布:java 获取当前日期 编辑:程序博客网 时间:2024/05/29 17:09
Mini-XML (网站: https://github.com/michaelrsweet/mxml/releases)当前最新的版本是2.10。在 64 位的 CentOS 6.8 上,如果安装了 GCC,按照帮助文档里的介绍,使用下列命令编译并安装:
./configure
make
make install
结果如下:
1)在源文件所在目录下,生成了以下文件:
libmxml.a
libmxml.so
libmxml.so.1
libmxml.so.1.5
如果使用 file 命令查看 so 类型文件,会发现 libmxml.so 是到 libmxml.so.1 的符号链接(symbolic link),libmxml.so.1 是到 libmxml.so.1.5 的符号链接(symbolic link),libmxml.so.1.5 是一个 64 位的共享库文件。这是因为在64位Linux上,GCC默认生成64位的文件。
2)在 /usr/local/include 目录下,新增了 mxml.h 文件。
3)在 /usr/local/lib 目录下,新增了以下文件:
libmxml.a
libmxml.so
libmxml.so.1
libmxml.so.1.5
对于 64 位的 CentOS 6.8,/usr/local/lib 目录下一般应存放 32 位的共享库文件,64 位的共享库文件应该放入 /usr/local/lib64 下。将 64 位的 so 文件放到 /user/local/lib 目录下,这是 Mini-XML 安装时的一个纰漏,它并没有考虑对生成32位库、生成64位库这两种情况进行差异化处理,总是假定生成的是32位的库,所以在生成64位库文件时,文件的保存位置并不是 /usr/local/lib64 。用户应将这些文件从 /usr/local/lib 移动到 /usr/local/lib64 下。
./configure
make
make install
结果如下:
1)在源文件所在目录下,生成了以下文件:
libmxml.a
libmxml.so
libmxml.so.1
libmxml.so.1.5
如果使用 file 命令查看 so 类型文件,会发现 libmxml.so 是到 libmxml.so.1 的符号链接(symbolic link),libmxml.so.1 是到 libmxml.so.1.5 的符号链接(symbolic link),libmxml.so.1.5 是一个 64 位的共享库文件。这是因为在64位Linux上,GCC默认生成64位的文件。
2)在 /usr/local/include 目录下,新增了 mxml.h 文件。
3)在 /usr/local/lib 目录下,新增了以下文件:
libmxml.a
libmxml.so
libmxml.so.1
libmxml.so.1.5
对于 64 位的 CentOS 6.8,/usr/local/lib 目录下一般应存放 32 位的共享库文件,64 位的共享库文件应该放入 /usr/local/lib64 下。将 64 位的 so 文件放到 /user/local/lib 目录下,这是 Mini-XML 安装时的一个纰漏,它并没有考虑对生成32位库、生成64位库这两种情况进行差异化处理,总是假定生成的是32位的库,所以在生成64位库文件时,文件的保存位置并不是 /usr/local/lib64 。用户应将这些文件从 /usr/local/lib 移动到 /usr/local/lib64 下。
如果要编译链接一个调用了 Mini-XML 的 C 程序,gcc 在指定要链接的库时,除了要使用 -lmxml,还要使用 -lpthread ,因为 Mini-XML 在实现时用到了 pthread.h 中声明的函数。编译链接完成后生成的可执行程序有可能是无法执行的,原因在于使用动态链接时,可执行程序未能找到 Mini-XML 的动态库文件。解决办法是告诉 Linux 操作系统到哪里可以找到 Mini-XML 的库文件,最简单的方法是使用下面的方法来设置一下查找库文件的路径:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib64
( 对于 64 位的 CentOS 6.8,默认查找 .h 文件的目录是 /usr/include ,默认查找 .so 文件的目录是 /usr/lib64 。如果有足够权限,可以将 Mini-XML 的头文件 mxml.h 拷贝到 /usr/include 下,将库文件拷贝到 /usr/lib64 下。)
0 0
- 在 64 位的 CentOS 6.8 上使用 Mini-XML 时要注意的问题
- 关于在64位操作系统上编译需注意的问题
- 在64位机器上使用返回值为地址的函数要注意声明函数体
- 64位CentOS 5.5 安装JMagick全过程(关于64位系统应注意的问题)
- 在敏捷mini培训上的感言
- 在 Hyper-V 上安装 CentOS 系统需要注意的两个问题
- 在64位的CentOS 6.8上安装系统性能监测工具Monitorix
- 在64位的CentOS上编译32位的程序
- Android SDK弱爆了---在64位Linux机器上使用的同学注意了
- 在Xcode使用openCV时要注意的问题
- Mini-XML的使用手册
- 报表在Linux上运行要注意的问题
- 结构在使用上的注意点
- xml注意的问题
- jQuery ie xml的问题 jQuery在IE中解释XML要注意的问题
- 对于使用xml配置文档时应该注意的问题
- 在64位机器上使用plSQL连接Oracle的问题(SQL*Net not properly installed)
- 在64位机器上使用plSQL连接Oracle的问题(SQL*Net not properly installed)
- GridView中通过js对CheckBox进行全选
- hue
- Mac下的Tomcat配置(so easy)
- 语音识别技术原理
- spring 头文件
- 在 64 位的 CentOS 6.8 上使用 Mini-XML 时要注意的问题
- 第72篇 一对多自由控制语音(三)及PHP MySQL 读取数据
- Google TensorFlow for GPU安装、配置大坑
- 如何查询mysql中执行效率低的sql语句
- 约瑟夫问题 sdutoj 1197
- forward 和 redirect
- oracle笔记(5)----排序函数row_number、rank、dense_rank
- 二分法查找有序数组元素
- 依然的文档: Centos 6上go语言开发环境搭建