Подтвердить что ты не робот

LibstdС++ - 6.dll не найден

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

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

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

Я использую Code:: Blocks with MinGW как компилятор в 32-разрядной версии Windows Vista.

***** ***** EDIT

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

В (название проекта) → Настройки компилятора- > Параметры Otehr:

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

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

В (название проекта) → Настройки компилятора → # define:

WIN32//
_WINDOWS//

В (название проекта) → Настройки компоновщика- > Другие параметры компоновщика:

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

В библиотеках linker- > link у меня есть различные ссылки на файлы с расширением .a, эти файлы включают Bullet PHysics, Ogre3D и SFML

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

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

Большинство этих настроек также являются частями, которые я получил из Ogre3D Application setup, если это поможет.

4b9b3361

Ответ 1

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

Ответ 2

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

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

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

Ответ 3

Просто удалите libstdС++ - 6.dll.a\libstdС++. dll.a из каталога mingw исправляет это.

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

Ответ 4

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

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

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

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

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

Ответ 5

Я поместил файл libstdС++ - 6.dll в ту же папку, где создан exe файл.

Ответ 6

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

Ответ 7

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

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

Перекрестные настройки

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

Компилятор Cross GCC

  • Команда: gcc

  • Все параметры: -I/usr/x86_64-w64-mingw32/sys-root/mingw/include -O3  -Wall -c -fmessage-length = 0

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

Компилятор Cross g++

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

  • Все параметры: -I/usr/x86_64-w64-mingw32/sys-root/mingw/include -O3  -Wall -c -fmessage-length = 0

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

Компонент Cross g++

  • Команда: g++ -static-libstdС++ -static-libgcc

  • Все параметры: -L/usr/x86_64-w64-mingw32/sys-root/mingw/lib -L/usr/x86_64-w64-mingw32/sys-root/mingw/bin

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

    /USR/x86_64-W64-mingw32/SYS-корень/MinGW/Библиотека

    /USR/x86_64-w64-mingw32/SYS-корень/MinGW/бен

Ответ 8

полезно для пользователей Windows, которые используют eclipse для c/c++, но запускают файл *.exe и получают ошибку: "отсутствует libstd c++ 6.dll"

4 способа решить это

  1. Eclipse → "Проект" → "Свойства" → "C/c++ Build" → "Настройки" → "Настройки инструмента" → "MinGW c++ Linker" → "Разное" → "Линкер" флаги "(добавить '-static' к нему)

  2. Добавьте '{{путь, где был установлен MinGW}}/bin' к текущей переменной среды пользователя - "Путь" в Windows, затем перезагрузите затмение и, наконец, перекомпилируйте.

  3. Добавьте '{{путь, по которому был установлен MinGW}}/bin' в переменную среды Windows - "Path", затем перезагрузите eclipse и, наконец, перекомпилируйте.

  4. Скопируйте файл "libstd c++ -6.dll" по пути, в котором работает файл *.exe, затем снова запустите. (это не очень хороший способ)

Примечание: файл "libstd c++ -6.dll" находится в папке '{{путь, куда был установлен ваш MinGW}}/bin'