0 / 0 / 0
Регистрация: 04.07.2015
Сообщений: 14
|
|
1 | |
Как выполнить статическую линковку библиотек?25.07.2015, 23:18. Показов 5899. Ответов 9
Метки нет (Все метки)
Такая ситуация: скомпилировал на ноуте консольное приложение, на уровне хеллоу ворлда, а на персональном компе оно при запуске выдает системную ошибку (отсутствие файла libgcc_s_dw2-1.dll), в свою очередь скомпилированное на персональнике выдает ошибку на ноуте (отсутствие файла libgcc_s_seh-1.dll). Как мне произвести статическую линковку библиотек, чтобы я мог без проблем запускать прогу в других системах?
p.S> gcc 5.0.1 (minGW-w64)
0
|
25.07.2015, 23:18 | |
Ответы с готовыми решениями:
9
Не получается сделать статическую линковку своей программы в MinGW Про линковку библиотек и про архитектуру иерархии классов Как выполнить статическую линковку в cmake? Как собрать статическую линковку ILMerge? |
Неэпический
|
|
25.07.2015, 23:22 | 2 |
0
|
0 / 0 / 0
Регистрация: 04.07.2015
Сообщений: 14
|
|
25.07.2015, 23:29 [ТС] | 3 |
Croessmah, я совсем новичок, да и не IDE у меня, простой компиль.
0
|
Неэпический
|
|
25.07.2015, 23:35 | 4 |
Сообщение было отмечено ambrosia как решение
Решение
Из консоли компилируете?
g++ -o blablabla.exe somefile.cpp somefile2.cpp -static -static-libgcc -static-libstdc++
1
|
0 / 0 / 0
Регистрация: 04.07.2015
Сообщений: 14
|
|
25.07.2015, 23:45 [ТС] | 5 |
Croessmah, да, из консоли. Файл скомпилировался, в другой системе запускается и выполняется успешно, без ошибок.
Получилась такая вот строка g++ -std=c++11 -o final.exe 866OEM.cpp -static -static-libgcc -static-libstdc++ Ничего лишнего? И если можно, разъясните пожалуйста по каждому параметру в этой строке.
0
|
Неэпический
|
|
26.07.2015, 00:07 | 6 |
Использовать стандарт c++11
-o - output. На выходе получим файл final.exe собственно файлы с исходниками -static - компоновщик будет игнорировать любые разделяемые библиотеки и разрешать все внешние ссылки непосредственным включением в вырабатываемый объектный код статических объектных файлов. -static-libgcc - назначает использование статической версии библиотеки libgcc. Применение этой опции может создать проблемы с обработкой исключений при компиляции программ на языке c++ -static-libstdc++ - тоже самое, только для libstdc++
2
|
0 / 0 / 0
Регистрация: 04.07.2015
Сообщений: 14
|
|
26.07.2015, 09:00 [ТС] | 8 |
Croessmah, а не подскажете, в какой литературе можно подробнее узнать о линковке?
0
|
Игогошка!
1801 / 708 / 44
Регистрация: 19.08.2012
Сообщений: 1,367
|
|
26.07.2015, 16:17 | 10 |
http://www.amazon.com/Advanced... 1430266678
Как обычно, бесплатную версию можно найти в интернете.
0
|
26.07.2015, 16:17 | |
26.07.2015, 16:17 | |
Помогаю со студенческими работами здесь
10
Настроить Builder на статическую линковку хочу хитрую линковку сделать, как сдалать Как OpenSSL добавить в линковку CLion (используется cmake и mingw) Как настроить статическую маршрутизацию? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |