Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.80/30: Рейтинг темы: голосов - 30, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 06.06.2015
Сообщений: 240

Опция -l и -L в компиляторе mingw(g++)

17.06.2015, 10:32. Показов 6411. Ответов 46
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.Извините если не по адресу но это наверно больше относится к c/c++ чем bat.В общем у меня имеется библиотека sfml в C:\MinGW\libs\SFML-2.3 мне нужно её подключить к компилятору mingw(g++) при помощи опции -l и-L.я пишу на notepad и встроенного компилятора там нет.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.06.2015, 10:32
Ответы с готовыми решениями:

Экспортирование inline-функций в MinGW компиляторе
Здравствуйте. Как заставить MinGW компилятор (в моем случае MinGW 4.9.2 x32) экспортировать inline-функции и функции-члены классов в...

Ошибка на компиляторе MinGW при сборке структуры
Помогите, пожалуйста, не знаю что делать. Вот такой простенький код struct abc { int a; }; а выдает ошибку и...

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

46
lss
941 / 869 / 355
Регистрация: 10.10.2012
Сообщений: 2,706
18.06.2015, 01:28
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Amir_05_05 Посмотреть сообщение
есть хороший источник?
Есть - я. Недавно собирал статические библиотеки sfml, записал последовательность. Нужен cmake и исходники sfml.

Кликните здесь для просмотра всего текста
Сборка SFML из исходников, с помощью cmake и mingw32-make.
Запускаем cmd, прописываем путь к папке bin компилятора (если не прописана в path), например:

set PATH=D:\Programs\MingW\mingw32-gcc-4.6.3-release-c_c++_fortran-sjlj\mingw\bin (путь без кавычек!!!)

Перходим в папку SFML(например, I:\SFML-2.2-sources\SFML-2.2).

Открываем CMakeLists.txt и, для сборки debug, изменяем:

sfml_set_option(CMAKE_BUILD_TYPE Release STRING "Choose the type of build (Debug or Release)")
на
sfml_set_option(CMAKE_BUILD_TYPE Debug STRING "Choose the type of build (Debug or Release)")

Для сборки static изменяем:

sfml_set_option(BUILD_SHARED_LIBS TRUE BOOL "TRUE to build SFML as shared libraries, FALSE to build it as static libraries")
на
sfml_set_option(BUILD_SHARED_LIBS FALSE BOOL "TRUE to build SFML as shared libraries, FALSE to build it as static libraries")

Для выбора - собирать примеры или нет, меняем здесь:

sfml_set_option(SFML_BUILD_EXAMPLES FALSE BOOL "TRUE to build the SFML examples, FALSE to ignore them")

Собирать ли документацию API:

sfml_set_option(SFML_BUILD_DOC FALSE BOOL "TRUE to generate the API documentation, FALSE to ignore it")

Тут, что-то связанное с OpenGL реализацией:

# add an option for choosing the OpenGL implementation
sfml_set_option(SFML_OPENGL_ES ${OPENGL_ES} BOOL "TRUE to use an OpenGL ES implementation, FALSE to use a desktop

OpenGL implementation")

Запускаем cmake с help:

"%CMake%/cmake" -help


Смотрим и выбираем параметры сборки makefile.
makefile для mingw:

Чтобы не засорять исходники временными файлами, создаём дополнительную папку (temp), переходим туда, и запускаем

cmake, указав путь к папке с исходниками:

"%CMake%/cmake" -G "MinGW Makefiles" D:\Programs\SFML-2.2-sources\SFML-2.2

Если папка temp создана в папке и исходниками, то можно так:

"%CMake%/cmake" -G "MinGW Makefiles" ..\

После сборки makefile:

mingw32-make

Для сборки другой конфигурации (debug/release), удаляем makefile и всё добавленные файлы и папки (кроме lib), изменяем

CMakeLists.txt, и повторяем действия.

Дополнительные зависимости (уже собранные библиотеки libfreetype.a, libglew.a и пр.), необходимые при использовании

статических (-s) либ, лежат в папке extlibs.

Настройки Code Blocks, при использовании статически либ, здесь:

https://www.cyberforum.ru/cpp-... ost7544495

Препроцессор:

GLEW_STATIC
SFML_STATIC
UNICODE

Линкер (для debug и release):

sndfile
openal32
jpeg
qlew
freetype
ws2_32
gdi32
opengl32
glu32
winmm

Возможно, какие-то и не нужны (например, openal32, ws2_32. Важен порядок подключений, в частности glew должна быть

выше opengl32).

Линкер (для release):

sfml-graphics-s
sfml-window-s
sfml-system-s


1
0 / 0 / 0
Регистрация: 06.06.2015
Сообщений: 240
18.06.2015, 18:23  [ТС]
Всё я подключил библиотеку!!!Благодарю Croessmah,давший верный ответ
И всех кто принимал участие в теме!

Добавлено через 1 час 23 минуты
У меня ещё один вопрос не по теме.Как мне ощуществить,чтобы при редактирование файла батник моментом выполнял заданные команды?Я пробовал на изменение веса файла,но иногда при редактирование вес остаётся такой же.Идеальный вариант выполнять команды при изменение времени(в секундах обязательно),но батник не может выполнять в секундах только в минутах.
Вот код(bat):
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
@echo off
echo Проект c++ №:
set /p list=""
:label
for %%i in ("D:\НЕ ТЕРЯТЬ+++=\АМИРА\МОИ ПРОГИ\my prog_c++№%list%.cpp") do (set /a size=%%~Zi)
if %size% == %size2% goto x else
del "my prog_c++№%list%.exe"
g++ -o "my prog_c++№%list%.exe" "D:\НЕ ТЕРЯТЬ+++=\АМИРА\МОИ ПРОГИ\my prog_c++№%list%.cpp" -IC:\MinGW\libs\SFML-2.3\include -LC:/MinGW/libs/SFML-2.3/lib -lsfml-graphics -lsfml-window -lsfml-system -static-libgcc -static-libstdc++
copy "my prog_c++№%list%.exe" "D:\НЕ ТЕРЯТЬ+++=\АМИРА\МОИ ПРОГИ"
:x
for %%i in ("D:\НЕ ТЕРЯТЬ+++=\АМИРА\МОИ ПРОГИ\my prog_c++№%list%.cpp") do (set /a size2=%%~Zi)
 
goto label
Добавлено через 3 минуты
а можно сделать чтобы при нажатие f5 эти команды выполнялись?
0
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,035
Записей в блоге: 1
18.06.2015, 20:42
Цитата Сообщение от Amir_05_05 Посмотреть сообщение
У меня ещё один вопрос не по теме
Зачем Вам это, что Вы хотите в результате получить?

Добавлено через 1 минуту
Цитата Сообщение от Amir_05_05 Посмотреть сообщение
а можно сделать чтобы при нажатие f5 эти команды выполнялись?
Цитата Сообщение от Amir_05_05 Посмотреть сообщение
я пишу на notepad и встроенного компилятора там нет.
может notepad++ хотя бы возьмете? Всё приятнее и плагин запуска есть
0
0 / 0 / 0
Регистрация: 06.06.2015
Сообщений: 240
18.06.2015, 21:38  [ТС]
Цитата Сообщение от Croessmah Посмотреть сообщение
Зачем Вам это, что Вы хотите в результате получить?
я хочу свой компилятор написатьи осталась последняя деталь:
нужно сделать,чтобы при редактирование файла батник моментом выполнял заданные команды(компилировал)
код выше работает на ура,но если изменить один символ команды не выполняются т.к размер файла не поменялся.
Будет отлично если ещё при нажатии f5 программа компилировалась.
Всё это ради удобства представьте пишу я прогу пишу ,жму ctrl+s,и готовый файл exe на раб.столе

Добавлено через 2 минуты
Цитата Сообщение от Croessmah Посмотреть сообщение
я пишу на notepad
ой перепутал я пишу на notepad++(я вообще думал,что это одно и тоже)
0
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,035
Записей в блоге: 1
18.06.2015, 21:58
Цитата Сообщение от Amir_05_05 Посмотреть сообщение
нужно сделать,чтобы при редактирование файла батник моментом выполнял заданные команды(компилировал)
код выше работает на ура,но если изменить один символ команды не выполняются т.к размер файла не поменялся.
Пишите Makefile со всеми зависимостями, потом запускаете make и она всё сама смотрит, что поменялось.
Есть утилиты, которые Makefile генерируют автоматически.
Всё это ради удобства представьте пишу я прогу пишу ,жму ctrl+s,и готовый файл exe на раб.столе
Чем не нравятся тогда уже готовые IDE?
0
0 / 0 / 0
Регистрация: 06.06.2015
Сообщений: 240
19.06.2015, 09:38  [ТС]
не посчитайте меня капризным,но IDE исключается.
Цитата Сообщение от Croessmah Посмотреть сообщение
Пишите Makefile
я понятия не имею что такое makefile и как его писать.Можно поподробней?

Добавлено через 3 минуты
похоже этот вопрос будет решён не сразу.Я наверно создам новую тему в cmd/bath
0
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,035
Записей в блоге: 1
19.06.2015, 10:48
Цитата Сообщение от Amir_05_05 Посмотреть сообщение
я понятия не имею что такое makefile и как его писать.Можно поподробней?
Для начала http://habrahabr.ru/post/155201/
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
19.06.2015, 10:48
Помогаю со студенческими работами здесь

Mingw-w64 MinGW TDM-GCC
Всем привет. Хочу понять, существует ли принципиальная разница между Mingw-w64, MinGW и TDM-GCC? Какие плюсы/минусы у этих трех...

Ошибка в компиляторе
Всем привет. Нужно сделать бегущего человечка, начал рисовать ноги, но в компиляторе вылезает ошибка: In file included from main.cpp. Как...

Реализация while в своем компиляторе
В качестве курсовой делаю простенький компилятор. На входе он получает примерно подобный код: int y=10; float h=5.2; write(y); ...

Выдает ошибку в компиляторе
Здавствуйте пишу вот такой код int main() { int chislo1; int chislo2; int summa; cout <<...

Получить информацию о компиляторе
Возможно ли как-то получить название компилятора, который скомпилировал данный выполняемый файл. Мне просто нужно вывести название...


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

Или воспользуйтесь поиском по форуму:
47
Ответ Создать тему
Новые блоги и статьи
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это дополнительная запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru