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++).
вам нужно только добавить свой "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