|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
||||||
MinGW версии 4.5.0 содержит libgcc_s_dw2-1.dll без которой ни одна скомпилированная прога не запускается. А как же запускать проги на других машинах?15.09.2011, 17:31. Показов 29990. Ответов 7
Метки нет (Все метки)
То есть установил такой пакет и скомпилил прогу
0
|
||||||
| 15.09.2011, 17:31 | |
|
Ответы с готовыми решениями:
7
Программа, скомпилированная по всем правилам генерирует исключения на других машинах Сборка Qt: отучение Qt от mingw10.dll, libgcc_s_dw2-1.dll и других Qt***.dll MinGW - скомпилированная программа требует наличия libstdc++-6.dll и libgcc_s_seh-1.dll |
|
2382 / 1666 / 279
Регистрация: 29.05.2011
Сообщений: 3,402
|
|
| 15.09.2011, 21:12 | |
|
Можно системные библиотеки линковать статически, для этого указать в опциях компилятора ключи -static-libgcc и -static-libstdc++, или же просто -static (тогда всё должно статически линковаться). Хотя это, на самом деле, скорее опции компоновщика.
3
|
|
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
|
| 15.09.2011, 21:42 [ТС] | |
|
Спасибо, я знал, что ты в этом разбираешься, помогло -static; я правильно понял, что при компоновке некоторый нужный код из libgcc_s_dw2-1.dll включается в исполняемый модуль и при его выполнении libgcc_s_dw2-1.dll уже просто не нужен? Ну это конечно в общих чертах. Вот я ещё прочёл:
"-static Linker (опция линкёра то есть) Компоновщик будет иrнорировать любые разделяемые библиотеки и разрешать все внешние ссылки непосредственным включением в вырабатываемый объектный код статических объектных файлов. На системах, не поддерживающих динамичес кой компоновки, установка этой опции не изменяет вырабатываемый выходной код. Опция может быть записана в форме static. См. также опцию shared" До полного понимания мне далеко ещё, компилятор специально не изучал.
0
|
|
|
7176 / 3234 / 82
Регистрация: 17.06.2009
Сообщений: 14,164
|
||||
| 16.09.2011, 09:17 | ||||
Напрямую код из dll-ки вшить в программу не получится Код берется из другой библиотеки, но он идентичен по функциональности Фактически каждая библиотека может быть собрана в двух видах 1) в виде *.dll - для динамического линкования 2) в виде *.a или *.lib - для статического линкования Добавлено через 1 минуту
А общий принцип работы компилятора, что есть статический код, что есть динамической код как сюда относится linker И как это все вместе работает ... Добавлено через 52 секунды
Рядом кладешь эту dll-ку Это нормально - сложные программы состоят из сотен файлов
1
|
||||
|
1 / 1 / 0
Регистрация: 12.10.2011
Сообщений: 22
|
|
| 10.02.2012, 19:19 | |
|
Со статическим и динамическим связыванием библиотек понятно..
А что насчет лицензии в обоих случаях? MinGW лицензирован под GPL, которая обязывает открывать исходники проекта при включении в него (в том числе динамически) кода под GPL. А если полученная программа требует для работы библиотеки MinGW, то это как раз этот случай... или нет? Кто-нибудь может что-то пояснить по этому поводу?
0
|
|
|
Псевдослучайный
1946 / 1146 / 98
Регистрация: 13.09.2011
Сообщений: 3,215
|
|
| 10.02.2012, 21:34 | |
|
Зачем ты хочешь распространять свой закрытый код в составе mingw? Рантайм в public domain
0
|
|
|
1 / 1 / 0
Регистрация: 12.10.2011
Сообщений: 22
|
||
| 11.02.2012, 00:07 | ||
|
То есть libgcc_s_dw2-1.dll и mingwm10.dll являются общественным достоянием?
0
|
||
|
Higher
|
||||||
| 19.02.2012, 15:02 | ||||||
|
А есть еще подобные ключики? Те, что привел grizlik78 у меня не работают =(
Вот полная команда для сборки:
Мдааа... Проблема решена. На форуме оно в 2 строчках отображается, просто перенес эти опции из первой строчки во вторую - и все заработало. А в code-blocks там эти две строчки разнесены на 6, я и не заметил, что там на 2 этапа сборка разделена. Я блондинко >_<
0
|
||||||
| 19.02.2012, 15:02 | |
|
Помогаю со студенческими работами здесь
8
MinGW. При запуске откомпилированной программы вылетает ошибка, что библиотека libgcc_s_dw2-1.dll отсутствует. Может быть вирус удалил системный файл CОМRеs.dll...Не запускается ни одна прога... MinGW после обновления выдает ошибку "отсутствует libgcc_s_dw2-1.dll" Программа скомпилированная в Debug не запускается на других компьютерах Не запускается на других машинах Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|