Как мне исправить эту проблему с компиляцией, которая возникает у меня с GLFW под Ubuntu 19.04?
Итак, я пытаюсь скомпилировать базовое приложение, и когда я пытаюсь его скомпилировать, возникает ошибка:
$ g++ -g -Iinclude -ldl -lX11 -lstdc++ src/*.cpp src/*.c `pkg-config --cflags --libs glfw3 glib-2.0`
/usr/bin/ld: warning: librt.so.1, needed by /usr/lib/gcc/x86_64-linux-gnu/8/../../../x86_64-linux-gnu/libglfw.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: /tmp/ccJamhTZ.o: undefined reference to symbol 'dlclose@@GLIBC_2.2.5'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/8/../../../x86_64-linux-gnu/libdl.so: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
main.cpp:
#include <glad/glad.h>
#include <GLFW/glfw3.h>
int main(int argc, char** argv) {
glfwInit();
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);
glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
return 0;
}
Что вызывает это и как это исправить?
1 ответ
Вы уверены, что скачали glfw
а также glad
пакеты разработчика для Ubuntu
? Я наFedora
и не могу сказать, что у меня возникла проблема с вашим фрагментом. Здесь: https://ubuntu.pkgs.org/18.04/ubuntu-universe-amd64/libglfw3-dev_3.2.1-1_amd64.deb.html, по-видимому, Ubuntudev
пакет, но я предлагаю посмотреть, как установить dev
пакет для вашего дистрибутива и соответствующей версии.
[edit] Я скомпилировал ваш фрагмент с помощью:g++ -o test main.cpp -I/usr/include/GLFW -lglfw
но удалил #include<glad/glad.h>
поскольку у меня нет этой библиотеки.