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主机编译成库

在仓库根目录下执行以下命令:

bash 复制代码
mkdir build
cd build
cmake ..
make
make install

可以在cmake配置是指定安装目录

bash 复制代码
cmake .. -DCMAKE_INSTALL_PREFIX=自己的安装目录

交叉编译arm-linux-gnueabihf-gcc4.9.4编译成库

在源码目录下写一个极简工具链文件 arm-linux.cmake,内容如下:

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)

只输出静态库

bash 复制代码
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

安装目录内容:

bash 复制代码
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.pc

6 directories, 8 files

静态库与动态库一起输出

bash 复制代码
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

安装目录内容:

bash 复制代码
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.pc

6 directories, 11 files

使用可以将头文件与库搞到编译器中。

卸载

手动卸载即可,cmake配置时先指定临时安装目录,然后参考临时安装目录,手动删除正式目录下的文件即可。

默认安装目录是/usr/local。