Как подключить библиотеки без IDE

Я только что загрузил компилятор MingW и библиотеки glfw и glad. Я настроил Notepad++ для компиляции с помощью mingW и теперь не могу понять, как включить упомянутые выше библиотеки. мне нужно поместить файлы .h в мою папку с моим файлом main.cpp или что-то еще? куда мне распаковать мои библиотеки. Я абсолютно понятия не имею и искал в Интернете несколько часов.

Я распаковал библиотеки в ту же папку, что и файл main.cpp, а затем вызвал что-то вроде этого в main.cpp. include<librariename/include/lib.h>

Я распаковал библиотеки в ту же папку, что и файл main.cpp. Простой сброс исходного кода библиотек с открытым исходным кодом в ту же папку не сработает. У некоторых могут быть очень сложные методы сборки, которые далеко за пределами способностей новичка. Мой совет, чтобы быстро начать работу, - установить msys2 для установки MinGW и использовать встроенное управление пакетами msys2 (pacman) для установки зависимых библиотек. Это решит получение подходящих библиотек для вашего компилятора, а также расположение заголовков и библиотек, но вам все равно придется указать библиотеки, которые вам нужно связать.

drescherjm 20.11.2022 18:06

У меня есть файл .batch с именем «msys» в моей установке minGW, этого достаточно?

noname 20.11.2022 18:10

Должно быть так: https://www.msys2.org/

drescherjm 20.11.2022 18:11

мне нужно снова установить mingw? это работает просто отлично.

noname 20.11.2022 18:15
Шаблоны Angular PrimeNg
Шаблоны Angular PrimeNg
Как привнести проверку типов в наши шаблоны Angular, использующие компоненты библиотеки PrimeNg, и настроить их отображение с помощью встроенной...
Создайте ползком, похожим на звездные войны, с помощью CSS и Javascript
Создайте ползком, похожим на звездные войны, с помощью CSS и Javascript
Если вы веб-разработчик (или хотите им стать), то вы наверняка гик и вам нравятся "Звездные войны". А как бы вы хотели, чтобы фоном для вашего...
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
Начала с розового дизайна
Начала с розового дизайна
Pink Design - это система дизайна Appwrite с открытым исходным кодом для создания последовательных и многократно используемых пользовательских...
Шлюз в PHP
Шлюз в PHP
API-шлюз (AG) - это сервер, который действует как единая точка входа для набора микросервисов.
14 Задание: Типы данных и структуры данных Python для DevOps
14 Задание: Типы данных и структуры данных Python для DevOps
проверить тип данных используемой переменной, мы можем просто написать: your_variable=100
0
5
60
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Прежде всего, рассмотрите MinGW-w64, он намного более современен, чем MinGW, и поддерживает как 32-разрядные, так и 64-разрядные версии Windows. Вы можете получить отдельные версии с https://winlibs.com/ или установить их из MSYS2 с помощью pacman.

Чтобы использовать библиотеку, вам нужно сделать несколько вещей:

  • Включите файл(ы) заголовка в свой код, используя #include <someheader.h>.
  • Сообщите компилятору gcc, где найти заголовочные файлы, используя флаг компилятора -I (-Iheaderpath).
  • Сообщите компоновщику gcc, где найти файл библиотеки, используя флаг компоновщика -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).

Спасибо за помощь, я очень ценю это (=

noname 22.11.2022 18:54

Если мой ответ был ответом на ваш вопрос, не забудьте принять его как ответ.

Brecht Sanders 22.11.2022 20:33

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