プログラムで argp を使用していますが、グローバルに定義された char doc[] を使用してプログラムに関する情報を表示しています。
プログラム情報とは別に、GPL 通知をこのドキュメントに追加したいと考えています。
GPL 通知は、他のいくつかの場所で使用されているため、const char * として定義されています (ただし、これを変更してもかまいません)。
最初に私はこれを試しました:
static char doc[] = strcat("basic program info", GPLNOTICE);
しかし、これは次のようになります。
error: initializer fails to determine size of ‘doc’
次に、文字列に変換してみました:
static char doc[] = (string("basic program info") + string(GPLNOTICE)).c_str()
しかし、それは同じエラーを与えます
次に、docをchar *にすることもできると思いました
static char *doc = strcat("basic program info", GPLINFO)
...しかし、これはセグメンテーション違反でクラッシュします
GPL 通知をマクロ定義に変換しようとしましたが、実際には何もできませんでした