zlog 交叉编译

1. zlog 是个很好的写程序日志的库,功能比较强大,上手快。

2. 下载地址:https://github.com/bmanojlovic/zlog

3. cd 到文件夹下,对 autogen.sh 添加可执行权限:chmod +x autogen.sh

    然后执行:./autogen.sh

    如果出现不能识别的函数错误,或报"Syntax error: "(" unexpected 的错误,请取消dash:

    dpkg-reconfigure dash

    选择  no ;然后再执行:./autogen.sh

4. 配置 configure

    CC=arm-am335x-linux-gnueabihf-gcc ./configure --prefix=/opt/embedded/zlog --host=arm-am335x-linux-gnueabihf

5. 执行:make

    可能会出现以下错误:

    ./.libs/libzlog.so: undefined reference to `rpl_realloc'

    这时,我们要改 makefile 文件,cd 到 src 文件下,修改 makefile:将 rpl_realloc 替换为 realloc,保存,执行:

    make clean

    make

    make install

在 Windows 环境下编译 zlog(一个高效的日志库)需要依赖一些工具链,因为 zlog 原生设计主要面向 Linux 和 Unix-like 系统。为了实现跨平台构建,通常借助 MinGW(Minimalist GNU for Windows)或 MSYS2 工具链模拟 POSIX 环境[^1]。 ### 编译步骤 1. **安装 MinGW 或 MSYS2** - 推荐使用 [MSYS2](https://www.msys2.org/),它提供了完整的类 Unix 工具集和 GCC 编译器。 - 安装完成后,在 `MSYS2` shell 中更新软件包并安装必要的依赖: ```bash pacman -Syu pacman -S mingw-w64-x86_64-gcc mingw-w64-x86_64-make git ``` 2. **获取 zlog 源码** - 使用 Git 克隆官方仓库: ```bash git clone https://github.com/HardySimpson/zlog.git cd zlog ``` 3. **配置与编译** - 在 MSYS2 shell 中运行以下命令进行编译: ```bash autoreconf -i ./configure --host=x86_64-w64-mingw32 make ``` - 如果出现兼容性问题,可能需要手动修改源码以适配 Windows API,例如替换线程相关函数为 Windows 的 `CreateThread`、互斥锁使用 `InitializeCriticalSection` 等[^2]。 4. **生成 DLL 或静态库** - 默认情况下,make 会构建动态链接库(DLL)及对应的 `.a` 文件(供 MinGW 链接使用)。 - 若要生成静态库,可以在 configure 时添加参数: ```bash ./configure --enable-static --disable-shared ``` 5. **安装与使用** - 执行以下命令将头文件和库文件安装到指定目录: ```bash make install ``` - 默认安装路径为 `/usr/local/`,可通过 `--prefix` 参数自定义。 ### 注意事项 - zlog 的某些特性(如信号处理、系统调用)在 Windows 上可能不完全支持,需查阅文档并评估功能适配性[^3]。 - 若目标应用程序使用 Visual Studio 构建,则建议通过 CMake 配置项目,或者将源代码直接集成到 VS 解决方案中进行编译。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值