我在 BSD 平台 (OSX) 上开发的应用程序中使用了出色的 UNIX 'comm' 命令行实用程序。当我部署到我的 Linux 生产服务器时,我很遗憾地发现,Ubuntu Linux 的“comm”实用程序没有使用 -i 标志来指示应该不区分大小写地比较行。显然 POSIX 标准不需要 -i 选项。
所以...我陷入困境。我真的需要在 BSD 上运行良好的 -i 选项。到目前为止,我已经尝试在 Linux 机器上编译 BSD comm.c 源代码,但我得到了:
me@host:~$ gcc comm.c
comm.c: In function ‘getline’:
comm.c:195: warning: assignment makes pointer from integer without a cast
comm.c: In function ‘wcsicoll’:
comm.c:264: warning: assignment makes pointer from integer without a cast
comm.c:270: warning: assignment makes pointer from integer without a cast
/tmp/ccrvPbfz.o: In function `getline':
comm.c:(.text+0x421): undefined reference to `reallocf'
/tmp/ccrvPbfz.o: In function `wcsicoll':
comm.c:(.text+0x691): undefined reference to `reallocf'
comm.c:(.text+0x6ef): undefined reference to `reallocf'
collect2: ld returned 1 exit status
有人对如何在 Linux 上获得支持“comm -i”的 comm 版本有任何建议吗?
谢谢!