g++ завершается ошибкой с неопределенной ссылкой на символ 'dlclose@@GLIBC_2.2.5' даже при использовании '-ldl'
Я пытаюсь скомпилировать программу с GLAD и SDL2, используя scons (хотя scons на самом деле не имеет значения, так как проблема с g ++)
scons запускает следующую команду для компиляции части программы:
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 ответ
Вам просто нужно добавить флаги "-Wl и --start-group"
для scons добавьте LINKFLAGS=['-Wl,- start-group'].