Майкл Барр указал правильный способ ссылки на библиотеки в командной строке. Путь к библиотеке задается с помощью переключателя -L
, а имя библиотеки - с переключателем -l
(имя библиотеки является именем файла, без части lib
в начале и символа .a
суффикс в конце).
Еще одна вещь, на которую следует обратить внимание, это то, что вы пытаетесь связать как статическую (libglfw.a), так и динамическую (glfw.dll) версию библиотеки, которые оба включены в загрузку, одновременно время. Вместо этого вы должны выбрать один, основываясь на ваших потребностях / желаниях, и ссылаться только на него.
Связать со статической версией просто. Просто добавьте -lglfw
в командную строку.
Чтобы использовать динамическую библиотеку, вы должны связать библиотеку импорта для dll (libglfwdll.a
), используя переключатель -lglfwdll
, и пропустить саму dll из команды link. По сути, библиотека импорта не содержит никакого объектного кода, а содержит только определения; Фактический код находится в DLL. DLL будет динамически связан во время выполнения. (Чтобы это работало, система должна быть в состоянии найти dll; то есть она должна находиться в текущем рабочем каталоге, в каталоге, который находится в пути, или ее каталог должен быть добавлен в специальную переменную среды, используемую для этого, но для того, чтобы это стало важным, сначала нужно добиться успеха в создании исполняемого файла.)