首页 > 解决方案 > 使 strlcpy 在 linux 中可用

问题描述

我正在尝试编译最初编写的源代码,FreeBSD并且由于strlcpy 不包含在 linux GlibC中,所以我现在在这个阶段停止了。

GCC 建议我可以使用strncpy但我不想实际更改源代码。

我需要重新编译我的 LibC 吗?

任何帮助表示赞赏。

标签: linuxgccfreebsdglibc

解决方案


移植 BSD 应用程序的最佳解决方案是libbsd;它已经为大多数系统打包。

在基于 Debian 的系统上,开发包名为libbsd-dev.

您可以通过将以下内容添加到 CFLAGS: 来编译未修改的 BSD 源代码 -DLIBBSD_OVERLAY -I/usr/include/bsd,并使用-lbsd.

但是,如果你打算分发你的构建系统,你应该使用包pkg-config而不是硬编码这些值。libbsd-overlay


推荐阅读