2012-06-22 6 views
1

Я просто просмотрел довольно длинное приложение в C++, используя mingw, и я пошел, чтобы дать его нескольким друзьям попробовать его. Когда они отправились выполнять файл .exe, у него возникла ошибка:Ошибка при работе .exe

Программа не может запускаться, так как libgcc_s_dw2-1.dll отсутствует на вашем компьютере. Попробуйте переустановить программу, чтобы устранить эту проблему.

Эта ошибка возникает с помощью отладочной версии. Компиляция с версией выпуска происходит с той же ошибкой, за исключением того, что «libgcc_s_dw2» заменяется на «libstdC++ - 6».

Я смог исправить эту проблему, включив DLL с .exe, но я предпочел бы, чтобы это было автономно, когда я решил выпустить его для большей части аудитории.

Я нашел этот вопрос много, но все они говорят, чтобы добавить -static-libstdc++ в параметры компоновщика.

Я использую CodeBlocks и пошел строить варианты и поместил его в том же месте, с которым я связал MinGW. Это не сработало, поэтому я попробовал другое окно рядом с ним для дополнительных опций, но это тоже не сработало.

Я знаю, что это, наверное, простая вещь, которую я пропускаю, но я не могу придумать нигде, чтобы выразить ее.

Я ценю любую помощь и благодарю заранее.

+0

У меня была эта проблема. Затем я переключился на Роджера - я имею в виду [это] (http://nuwen.net/mingw.html) ... Серьезно, однако, это был лучший выбор программ, который я когда-либо делал. – chris

ответ

1

Я добавил опции -static-libgcc и -static-libstdc++ к настройкам компоновщика, как показано на рисунке here (разделенный пробелом), и это сработало для меня.

Обязательно переустановите свой исполняемый файл из меню «Построение» (или с помощью Ctrl-F11), CodeBlocks не будет его перестроить, если вы просто попытаетесь построить после изменения настроек.