libstdc++-6.DLL не найден

Я работаю над проектом (конкретная игра), и я чувствую, что должен начать с разных библиотек. Поэтому при этом я переустановил Код::Блоки и настроить мои новые библиотеки и включает.

но на данный момент у меня проблема с запуском u[ мой новый проект, чтобы проверить, все ли включает работу. Эта проблема:libstdc++-6.dll was not found. сначала я задавался вопросом, Могу ли я просто найти этот файл в интернете, но его нигде не найти(или, по крайней мере, многие места, которые у меня есть разыскиваемый... Вскоре после этого я попытался загрузить свой старый проект, и та же проблема произошла снова(wierd... ._.) Я думал, что это может быть мой компилятор, поэтому я использовал свой старый компилятор, и он сделал то же самое! В этот момент я отложил проблему на завтра (то есть сегодня)

Итак, мой вопрос: если бы у кого-то еще была эта проблема, как бы Вы ее решили?

Im с помощью Code:: Blocks с MinGW в качестве компилятора в Windows Vista 32 немного.

*****редактировать*****

вот параметры сборки в моем проекте. Обратите внимание, что это настройки в проекте, а не глобальный компилятор:

In (имя проекта) - > настройки компилятора - >параметры Otehr:

(Я использую // для разделения команд)

-mthreads//
-fmessage-length=0//
-fexceptions//
-fident//

In (имя проекта)->настройки компилятора - > #define:

WIN32//
_WINDOWS//

In (имя проекта) - > настройки компоновщика - >другие параметры компоновщика:

-static-libstdc++//
-static-libgcc//
-Wl,--enable-auto-image-base//
-Wl,--add-stdcall-alias//
-Wl,--enable-auto-import//

In компоновщик->ссылки на библиотеки у меня есть различные ссылки на файлы .a расширение, эти файлы включают физику пули, Ogre3D и SFML

в каталогах поиска у меня есть ссылки на каталоги MinGW/bin и MinGW/lib, а также другие ссылки на разные библиотеки.

мой компилятор-MinGW, компилятор GNU GCC для windows 32 бит. и IDE-это кодовые блоки. Также обратите внимание, что в настройках отладки и выпуска в проекте ничего нет.

большинство эти настройки также являются частями, которые я получил от форумах Ogre3D и посомтрите там программа установки учебник если это поможет.

7 ответов


Если вы используете MingW для компиляции кода C++ в Windows, вы можете добавить параметры -static-libgcc и -static-libstdc++ чтобы связать стандартные библиотеки C и c++ статически и, таким образом, удалить необходимость носить с собой любые отдельные копии. Управление версиями библиотек-это боль в Windows, поэтому я нашел этот подход самым быстрым и чистым решением для создания двоичных файлов Windows.


насколько я знаю, это библиотека времени выполнения c++. Поэтому это зависит от компилятора, который вы используете для создания своей программы (Новая версия будет включать некоторые вещи c++0x, более старая версия, вероятно, не будет, например. Это зависит от компилятора и его версии).

Если вы используете MinGW, то вы должны использовать libstdc++-6.dll найдена в папке этого компилятора. папка MinGW/bin должно быть место для поиска на вашем компьютере.

при копировании этот файл в том же каталоге, что и ваш исполняемый файл, должен быть в порядке.


просто удаление libstdc++-6.файл DLL.a \ libstdc++.файл DLL.a из каталога mingw исправляет это.

Я попытался использовать флаг-static-libstdc++, но это не сработало для меня. Я нашел решение в: http://ghc.haskell.org/trac/ghc/ticket/4468#


эта ошибка также произошла при компиляции с MinGW с помощью gcc со следующими параметрами: -lstdc++ -lm, а не g++

Я не заметил этих вариантов, и добавил:-static-libgcc -static-libstdc++

Я все еще получил ошибку и, наконец, понял, что я использую gcc, и изменил компилятор на g++ и удалил -stdc++ and -lm и все, что связано прекрасно.

(Я использовал ссылку.c вместо ссылки.СРР... использовать make -pn | less чтобы увидеть, что все делает!)

Я не знаю, почему предыдущий автор использовал gcc с -stdc++. Я не вижу причин не использовать g++, который будет автоматически связываться с stdc++... и, насколько я знаю, предоставляют другие преимущества (в конце концов, это компилятор C++).


Я разместил libstdc++-6.dll-файл в той же папке, где создается exe-файл.


вам нужно только добавить свой "mingw-install-directory" /bin/ в свой путь в переменных системной среды ... вот так !!


Я использую Eclipse под Fedora 20 с MinGW для кросс-компиляции. Используйте эти настройки, и программа не будет запрашивать libstdc++-6.dll больше нет.

тип проекта-Cross GCC

Настройки Креста

  • префикс: x86_64-w64-mingw32 -
  • путь:/usr / bin

перекрестный компилятор GCC

  • команда: gcc

  • Все Варианты: -Я в/usr/архитектуру x86_64-w64-mingw32/системы корень/MinGW в/включают -О3 - Стена-c-fmessage-длина=0

  • включает:/usr/x86_64-w64-mingw32/sys-root/mingw / include

Кросс-Компилятор G++

  • команда: g++

  • все параметры: - I / usr/x86_64-w64-mingw32 / sys-root / mingw / include-O3 - Стена-c-fmessage-длина=0

  • включает в себя: в /usr/архитектуру x86_64-w64-mingw32/системы корень/по MinGW/включения

Кросс G++ Компоновщик

  • : г++ -статический-с libstdc++ -статически-на libgcc
  • все варианты: -л в/usr/архитектуру x86_64-w64-mingw32/системы/корень помощью MinGW/lib в -Л в/usr/архитектуру x86_64-w64-mingw32/системы/корень по MinGW/ОГРН

  • путь поиска библиотеки (- L):

    в/usr/архитектуру x86_64-w64-mingw32/системы/корень по MinGW/Либ

    / usr/x86_64-w64-mingw32/sys-root/mingw / bin