Posted in

T23 编译 iconv 遇到 <getprogname.c:291:4: error: #error “getprogname module not ported to this OS“> 的问题

在君正 T23 平台编译 libiconv-1.17 编译命令行工具,里面用到一个 getprogname 的指令。
但这个指令相关的代码似乎对于官方提供的工具链不甚友好。
对于嵌入式开发者来说,其实大部分只需要生成的开发库文件,因此可以巧妙地绕开这个编译要求。

我通过以下方式解决了
编辑文件 ./srclib/getprogname.c 加入宏 绕过这个判断逻辑即可,见代码片段:

 
#define HAVE_GETPROGNAME ///< 家这行绕开这个问题
#ifndef HAVE_GETPROGNAME             /* not Mac OS X, FreeBSD, NetBSD, OpenBSD >= 5.4, Cygwin */
char const *
getprogname (void)
{

Have a nice coffe~ ☕️

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注