g ++ перестал работать с неопределенной ссылкой на символ 'dlclose @@ GLIBC_2.2.5' даже с '-ldl'

Я пытаюсь скомпилировать программу с ДОВОЛЬНЫМ и SDL2 с помощью сканирований (хотя сканирования не действительно релевантны, так как g ++ проблема),

сканирования выполняют следующую команду для компиляции части программы:

g++ -o out/cpptest bin/src/MainTest.o bin/src/main.o -L/usr/local/lib -Lbin/lib -ldl -lm -lGL -lGLU -lX11 -lpthread -lXi -lXrandr -lXxf86vm -lXinerama -lXcursor -lrt -lglad -lSDL2 -pthread

g ++ возвращает следующее сообщение об ошибке:

/usr/bin/ld: bin/lib/libglad.a(glad.c.o): undefined reference to symbol 
'dlclose@@GLIBC_2
.2.5'
 /usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/libdl.so: error 
 adding symbols: DSO missing from command line
 collect2: error: ld returned 1 exit status

Некоторый совет очень ценился бы.

Также обратите внимание, что следующие флаги ПРИСУТСТВУЮТ:

    -ldl -lm -lpthread -pthread
1
задан 3 December 2018 в 09:18

1 ответ

Просто необходимо добавить флаги "-Wl и - начинать-группа"

поскольку сканирования добавляют LINKFLAGS = ['-Wl, - начинать-группа'].

Ссылка: https://stackoverflow.com/questions/45135/why-does-the-order-in-which-libraries-are-linked-sometimes-cause-errors-in-gcc

0
ответ дан 7 December 2019 в 22:17

Другие вопросы по тегам:

Похожие вопросы: