Я только что загрузил компилятор MingW и библиотеки glfw и glad. Я настроил Notepad++ для компиляции с помощью mingW и теперь не могу понять, как включить упомянутые выше библиотеки. мне нужно поместить файлы .h в мою папку с моим файлом main.cpp или что-то еще? куда мне распаковать мои библиотеки. Я абсолютно понятия не имею и искал в Интернете несколько часов.
Я распаковал библиотеки в ту же папку, что и файл main.cpp, а затем вызвал что-то вроде этого в main.cpp.
include<librariename/include/lib.h>
Я распаковал библиотеки в ту же папку, что и файл main.cpp. Простой сброс исходного кода библиотек с открытым исходным кодом в ту же папку не сработает. У некоторых могут быть очень сложные методы сборки, которые далеко за пределами способностей новичка. Мой совет, чтобы быстро начать работу, - установить msys2 для установки MinGW и использовать встроенное управление пакетами msys2 (pacman) для установки зависимых библиотек. Это решит получение подходящих библиотек для вашего компилятора, а также расположение заголовков и библиотек, но вам все равно придется указать библиотеки, которые вам нужно связать.
У меня есть файл .batch с именем «msys» в моей установке minGW, этого достаточно?
Должно быть так: https://www.msys2.org/
мне нужно снова установить mingw? это работает просто отлично.
Прежде всего, рассмотрите MinGW-w64, он намного более современен, чем MinGW, и поддерживает как 32-разрядные, так и 64-разрядные версии Windows. Вы можете получить отдельные версии с https://winlibs.com/ или установить их из MSYS2 с помощью pacman
.
Чтобы использовать библиотеку, вам нужно сделать несколько вещей:
#include <someheader.h>
.-I
(-Iheaderpath
).-L
(-Llibrarypath
).-l
(-llibrary
). Это заставит компоновщик искать файл библиотеки, добавив lib
перед указанным именем библиотеки и .a
после (или .dll.a
в случае общей сборки).Так, например, если у вас есть следующие файлы:
/C/Temp/bin/glfw.dll
/C/Temp/include/GL/glfw.h
/C/Temp/lib/libglfw.a
Затем вы должны добавить #include <GL/glfw.h
к своему коду и построить вот так (если ваш код находится в main.c
):
gcc -c -o main.o main.c -I/C/Temp/include
gcc -o main.exe main.o -L/C/Temp/lib -lglfw
В приведенном выше примере первая строка — это шаг компилятора, а вторая — шаг компоновщика. Вы можете объединить оба шага следующим образом:
gcc -o main.exe main.c -I/C/Temp/include -L/C/Temp/lib -lglfw
Но по мере роста вашего проекта лучше разделить шаги компилятора и компоновщика.
Фактически, по мере роста вашего проекта вы можете рассмотреть возможность использования какой-либо системы сборки (например, make или cmake).
Спасибо за помощь, я очень ценю это (=
Если мой ответ был ответом на ваш вопрос, не забудьте принять его как ответ.
Связанный: https://cboard.cprogramming.com/c-programming/131142-how-link-libraries-mingw.html