programing

'RTLD_NEXT' 미신고

cafebook 2023. 11. 4. 13:18
반응형

'RTLD_NEXT' 미신고

C 프로그램을 컴파일하려고 하는데 'RTLD_NEXT'라는 오류가 선언되지 않았습니다.이것은 c 프로그램이 포함된 dlfcn.h에 정의되어야 할 것 같은데, 내가 dlfcn.h 내부를 살펴보니 RTLD_NEXT가 없습니다.

이거 어떻게 고쳐요?

여기서 문제가 되는 것은RTLD_NEXTposix 표준에 의해 정의되지 않습니다. 그래서 GNU 사람들은 당신이 아니면 그것을 활성화하지 않습니다.#define _GNU_SOURCE아니면-D_GNU_SOURCE.

POSIX의 다른 관련 부품으로는 dlfcn.hdlsym.h가 있습니다.흥미롭게도, 나중에 언급되는 것들은RTLD_NEXT. GNU 사람들은 확장이 무엇이고 무엇이 아닌지에 대해 약간 혼란스러워 합니다.

에 따르면man dlsym그렇다.#define _GNU_SOURCE(단 하나의 선행 언더스코어만 해당)dlfcn.h포함됩니다(RHEL6.1).

해라#define __GNU_SOURCE정보원의 첫번째 줄로 말입니다.

밑줄이 하나는 있어야 합니다.#define _GNU_SOURCE또한 이것이 당신의 첫번째 프로세서 지시임에 틀림없습니다.예를 들어,

#define _GNU_SOURCE  
#include <stdio.h>

언급URL : https://stackoverflow.com/questions/1777397/rtld-next-undeclared

반응형