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