为什么 Informix 4GL 编译器会抱怨未知选项 -fwritable-strings?

Why does the Informix 4GL compiler complain about unknown option -fwritable-strings?

我是 Informix 的初学者,当我想在 Informix 4GL 中编译和调试程序时,我不能。

这是代码:

MAIN 
   DISPLAY "HELLO"
END MAIN

这就是问题所在:

cc:errors: option "-fwritable-strings" non reconnue sur la ligne de commande, aviez-vous l'intention d'utiliser "-writ-string" 4GL

似乎 c4gl 脚本正在设置 GCC 命令选项 -fwritable-strings 但你的 C 编译器(显然 cc,但它可能是 link 到 GCC ) 不认识它。

根据您是否安装了 GCC,有不同的修复方法。 GCC 5.x(与 GCC 5.3.0 确认)及更高版本不支持该选项。 Linux 已经在 GCC 4.x 上停留了很长时间,但终于转向了更高版本的 GCC。因此,如果您使用的是 GCC 5.x 或更高版本(使用 cc --versiongcc --version 来确定您使用的是哪个版本),则需要编辑 c4gl脚本(制作备份副本后)以删除该选项。

但是,也有可能它很关键,I4GL 库中的代码有时确实会尝试修改字符串文字,这会导致程序崩溃。在这一点上,您将无法尝试向 IBM Informix (HCL) 技术支持报告问题,假设您有支持,或者降级到版本 4.x GCC 编译器。