pugixml使用说明
pugixml使用说明
官网:https://pugixml.org/
官网有其仓库地址,https://github.com/zeux/pugixml,我同步了最新标签1.15。(20251107)
我的主机是ubuntu24.04-gcc13,交叉编译工具链是arm-linux-gnueabihf-gcc4.9.4,都可以编译使用。
直接源码使用方式
直接使用仓库里的源文件pugixml.hpp、pugiconfig.hpp、pugixml.cpp放入项目中,直接编译链接即可。
编译成库方式使用
ubuntu24.04-gcc13主机编译成库
在仓库根目录下执行以下命令:
mkdir build
cd build
cmake ..
make
make install
可以在cmake配置是指定安装目录
cmake .. -DCMAKE_INSTALL_PREFIX=自己的安装目录
交叉编译arm-linux-gnueabihf-gcc4.9.4编译成库
在源码目录下写一个极简工具链文件 arm-linux.cmake,内容如下:
set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_PROCESSOR arm)
set(CMAKE_C_COMPILER arm-linux-gnueabihf-gcc)
set(CMAKE_CXX_COMPILER arm-linux-gnueabihf-g++)
set(CMAKE_AR arm-linux-gnueabihf-ar)
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
只输出静态库
mkdir build && cd build
cmake .. \-DCMAKE_TOOLCHAIN_FILE=../arm-linux.cmake \-DBUILD_SHARED_LIBS=OFF \-DCMAKE_BUILD_TYPE=Release \-DCMAKE_INSTALL_PREFIX=$PWD/install
make -j$(nproc)
make install
安装目录内容:
yk@yk-vm:~/GIT/componentLibrary/pugixml/build/install$ tree .
.
├── include
│ ├── pugiconfig.hpp
│ └── pugixml.hpp
└── lib├── cmake│ └── pugixml│ ├── pugixml-config.cmake│ ├── pugixml-config-version.cmake│ ├── pugixml-targets.cmake│ └── pugixml-targets-release.cmake├── libpugixml.a└── pkgconfig└── pugixml.pc6 directories, 8 files
静态库与动态库一起输出
mkdir build && cd build
cmake .. \-DCMAKE_TOOLCHAIN_FILE=../arm-linux.cmake \-DBUILD_SHARED_LIBS=ON \-DPUGIXML_BUILD_SHARED_AND_STATIC_LIBS=ON \-DCMAKE_BUILD_TYPE=Release \-DCMAKE_INSTALL_PREFIX=$PWD/install
make -j$(nproc)
make install
安装目录内容:
yk@yk-vm:~/GIT/componentLibrary/pugixml/build/install$ tree .
.
├── include
│ ├── pugiconfig.hpp
│ └── pugixml.hpp
└── lib├── cmake│ └── pugixml│ ├── pugixml-config.cmake│ ├── pugixml-config-version.cmake│ ├── pugixml-targets.cmake│ └── pugixml-targets-release.cmake├── libpugixml.a├── libpugixml.so -> libpugixml.so.1├── libpugixml.so.1 -> libpugixml.so.1.15├── libpugixml.so.1.15└── pkgconfig└── pugixml.pc6 directories, 11 files
使用可以将头文件与库搞到编译器中。
卸载
手动卸载即可,cmake配置时先指定临时安装目录,然后参考临时安装目录,手动删除正式目录下的文件即可。
默认安装目录是/usr/local。
