私は Linux を使い始めたばかりです。
Linux MintのMDMディスプレイマネージャーをURLから再構築しようとしていました 出典: linuxmint.com。
ドキュメントでは、
./autogen.sh --enable-ipv6=yes --with-prefetch
それを実行してmakeを実行すると、このエラーが発生します
mdm-daemon-config.c:1818:4: エラー: フォーマットが文字列リテラルではなく、フォーマット引数がありません [-Werror=format-security]
gchar *s = g_strdup_printf (C_(N_("MDM "
^
Ubuntuはこれをエラーとして扱うとどこかで読んだので、試してみました
./autogen.sh --enable-ipv6=yes --with-prefetch CFLAGS="-Wno-format-security"
そしてその警告は消えましたが、別のエラーが発生しました:
mdm-daemon-config.c:2003:1: エラー: 'mdm_daemon_load_config_file' の以前のプロトタイプがありません [-Werror=missing-prototypes] mdm_daemon_load_config_file (MdmConfig **load_config) ^
私はそれから試しました
./autogen.sh --enable-ipv6=yes --with-prefetch CFLAGS="-Wno-format-security -Wno-missing-prototypes"
しかし、それも役に立ちませんでした。私が実行すると、make
gccが(他のものの中でも興味深い部分をコピーしただけ)を使用していることがわかります。
-Wno-missing-prototypes -Wall -Wstrict-prototypes -Wnested-externs -Werror=missing-prototypes
したがって、-Wno-missing-prototypes と -Werror=missing-prototypes の両方が使用されており、これが誤動作の原因となっている可能性があります。