48 / 48 / 6
Регистрация: 24.12.2009
Сообщений: 495
1

Компиляция в MSYS (MinGW)

06.01.2018, 23:59. Показов 2399. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем приветы!

Подскажите, есть папка с примерами, там makefile. Я в MSYS захожу в эту папку и набираю make.

Пишет: ld.exe cannot find -lIrrlicht -lGL.... и т.д.

В makefile прописаны пути:

Bash
1
2
3
4
5
# Path to Irrlicht directory, should contain include/ and lib/
#IrrlichtHome := ../..
IrrlichtHome := c:/irrlicht-1.8.4
# Path for the executable. Note that Irrlicht.dll should usually also be there for win32 systems
BinPath = ../../bin/$(SYSTEM)
Я пробовал и ../.. и с:/irrlicht-1.8.4 не видит.

В папке lib есть файл libIrrlicht.a

BinPath не трогал. это вроде уже для запуска надо. Как сделать чтобы ld нашел эти либы ? Где они вообще лежат ?

(что значит $(system) ? куда ведет путь указанный как ../../bin/$(system) ??? )
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.01.2018, 23:59
Ответы с готовыми решениями:

MinGW+MSYS - как грамотно пользоваться?
Вопрос: Добрый день, уважаемые форумчане! У меня такой вопрос: Пытаюсь собрать PostgreSQL под...

Компиляция в g++ из MinGW
Добрый день! После скачивания и установки MinGW пытаюсь скомпилировать простую программу из...

MinGW-w64 компиляция
Проблема не могу скомпилировать код под x64 пробовал с ключом -m64 выдаёт ошибку "sorry,...

Компиляция серьезной графики под Mingw
Возьмем для примера gdi+ (c всем остальным у меня получалось абсолютно тоже. только winapi из...

1
93 / 92 / 21
Регистрация: 16.08.2017
Сообщений: 187
Записей в блоге: 1
07.01.2018, 01:50 2
Здравствуйте!
С MSYS не работал, но непосредственно MinGW использовать приходилось(напрямую в Windows).
Цитата Сообщение от ilja123 Посмотреть сообщение
$(system)
это переменная, которая видимо содержит путь к используемым системным файлам. В makefail она должна быть прописана где-то в самом начале.
Вот Вам пример рабочего makefile написанного без учета MSYS
Bash
1
2
3
4
5
6
7
8
9
10
CC=mingw32-g++.exe
SRC=c:\Work\src
OBJ=c:\Work\obj
TARGET=c:\Work\bin\debug
LIBS=c:\CodeBlocks\MinGW\lib\libws2_32.a
 
rebuild: main.o
        $(CC)  $(OBJ)\main.o  $(LIBS) -o $(TARGET)\serv.exe
main.o:
        $(CC)  -c $(SRC)\main.cpp -o $(OBJ)\main.o
Здесь в виде переменных (чтобы можно было легко заменить) заданы имя компилятора, путь к исходным файлам, путь к объектным файлам, путь по которому будет размещен исполняемый файл и путь к библиотечному файлу. Обратите внимание, что слеш в этом случае пишется так как это принято в Windows, так как работа идет не в MSYS. Путь к библиотеке указан напрямую. Знаю, что можно включать этот путь используя префикс -L, но сейчас уже не помню по каким причинам отказался от него. Но так работает. Не знаю, сколько у Вас там зависимостей, но может попробовать makefile другой написать? Хотя правильней будет с MSYS разобраться.

Добавлено через 24 минуты
И еще… Где у Вас находится папка lib? Предполагаю, что в c:/irrlicht-1.8.4 Должна быть запись в makefile примерно такого содержания:
LIBS= -L/c:/ilrrlicht-1.8.4/lib -lrrlicht
после префикса -L идет путь к библиотеке, а сама библиотека после -l пишется без префикса lib и расширения .a
Кстати, только заметил... У Вас там в ошибке -lGL еще есть (это не какую нибудь GLUT найти не может?). С графикой не работаете? Проверьте.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.01.2018, 01:50
Помогаю со студенческими работами здесь

Компиляция кода с SDL2 под Windows в MinGW
У меня виндовс семь, система 64битная. Компилятор брал сравнительно недавно (после перестановки...

Может ли MinGW x64 компилить приложения x32? Или нужно для этого отдельно ещё MinGW х32 качать?
Просто решил поиграться с CodeLite.

Mingw-w64 MinGW TDM-GCC
Всем привет. Хочу понять, существует ли принципиальная разница между Mingw-w64, MinGW и...

Mingw компиляция по частям
Добрый день. При задумке одного из проектов есть необходимость компиляции отдельных компонентов...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru