На ноуте установлен GCC 4.8.1 (minGW), на персональном - GCC 5.0.1 (minGW-w64). И на том и на другом стоит Windows 7 Ultimate x64, установленная с одного диска. Скомпилировал консольное приложение на ноуте, оно не запустилось на персональном, а скомпилированное на персональном не запускается на ноуте. В обоих случаях выдает системную ошибку, отсутствует файл libgcc_s_dw2-1.dll (на ПК) и libgcc_s_seh-1.dll (на ноуте). В чем может быть проблема? И как обеспечить переносимость приложения, чтоб исправно юзалось на форточках начиная с XP SP2 и заканчивая 7-й, как минимум?
Вы б еще параметры компилятора показали и что пишете, врядле это хеллоу ворлд был. Думаю что-то не настроено в параметра компилятора или линковщика. IDE какой?
Dimexide: Если речь о windows.
Exe на c++ для работы требуется рантайм для работы представленный набором dll, которые поставляются вместе с компиляторами.
Чтобы сделать программу портабельной необходимо либо класть эти dll рядом с exe, либо класть их системную папку windows (самый скверный вариант), либо производить статическую линковку рантайма (предпочитаю этот вариант), когда все зависимости собираются в единый exe. Как её производить читать в гугле по ссылке выше.
Александр Таратин: да, вот напоролся на статическую линковку, похоже на то, что мне надо. А что тогда посоветуете использовать, если не MinnGW, не громоздкое?
Dimexide:
>не громоздкое
У вас что диск как в нулевых на 60ГБ?
Ставьте бесплатный Visual Studion 2015 Community
Статическая линковка включается в настройках проекта в
configuration properties -> c/c++ -> code generation ->runtime library
Значения флагов https://msdn.microsoft.com/ru-ru/library/2kzt1wy3%...
Александр Таратин: памяти валом, просто у ноута мозги и так кипят... Думал пока на простом компиляторе писать, для начала, а потом уже и за IDE браться. И еще вопрос, не знаете ли литературу, где подробно по статической линковке расписано?