C プログラムをコンパイルしようとしていますが、'RTLD_NEXT' undeclared というエラーが発生します。これはcプログラムに含まれるdlfcn.hで定義されているはずなのですが、dlfcn.hの中を見てみるとRTLD_NEXTがありません。
これを修正するにはどうすればよいですか?
man dlsymit によると、が含まれる前に#define _GNU_SOURCE(先頭のアンダースコアが 1 つだけ)あります。(RHEL6.1)。dlfcn.h
#define __GNU_SOURCEソースの最初の行として試してください。
アンダースコアが 1 つ必要です。#define _GNU_SOURCE
さらに、これは最初のプリプロセッサ ディレクティブである必要があります。例:
#define _GNU_SOURCE
#include <stdio.h>