programing
'RTLD_NEXT' 미신고
cafebook
2023. 11. 4. 13:18
반응형
'RTLD_NEXT' 미신고
C 프로그램을 컴파일하려고 하는데 'RTLD_NEXT'라는 오류가 선언되지 않았습니다.이것은 c 프로그램이 포함된 dlfcn.h에 정의되어야 할 것 같은데, 내가 dlfcn.h 내부를 살펴보니 RTLD_NEXT가 없습니다.
이거 어떻게 고쳐요?
여기서 문제가 되는 것은RTLD_NEXT
posix 표준에 의해 정의되지 않습니다. 그래서 GNU 사람들은 당신이 아니면 그것을 활성화하지 않습니다.#define _GNU_SOURCE
아니면-D_GNU_SOURCE
.
POSIX의 다른 관련 부품으로는 dlfcn.h와 dlsym.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
반응형