С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

C++

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 1004, средняя оценка - 4.94
niXman
Эксперт С++
3139 / 1451 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
#1

Сборки MinGW(GCC-win32/win64) от niXman - C++

30.07.2011, 22:48. Просмотров 136350. Ответов 444

с этого момента, буду производить тестовые/пререлизные/релизные сборки mingw.
файлы с пометкой snapshot и prerelease - не стабильные версии. в реальных проектах использовать не рекомендую. использую для тестирования новых фитчей.
файлы с пометкой release - стабильные, прошедшие тесты.
скачать можно тут.
скачать онлайн-инсталятор можно тут.
скачать msys2 можно тут

в скором времени начну формировать пакеты для разработчиков состоящие из компилятора(mingw), IDE(QtCreator/CodeBlock/Dev-C++/wxDev-cpp), и некоторого набора предкомпилированных библиотек(boost, Wx, Qt, OpenSsl, и еще каких-то.. понять бы что в спросе...). пакеты не будут требовать установки/настройки. распаковал - используй.

Не по теме:

старая ссылка тут.

39
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.07.2011, 22:48
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Сборки MinGW(GCC-win32/win64) от niXman (C++):

Как перекомпилить Win32 dll -> Win64 - C++
Привет форумчане. Подскжите как перестроить MS2005 стоящую на ХР что бы можно было перекомпилить мою dll-ку под платформу Win64

Gcc без MinGW - C++
Интересует вопрос, можно ли рабочий код (который без ошибок компилируется в Visual Studio) компилировать с помощью командной строки Windows...

Win32 -> Win64 = BEX - C++ Builder
Проблема появилась после переустановки вин32 ту 64. Проект был с 12 альфа скинами и библ bass.dll На новой системе поставил тот же RAD...

Запуск программы на Win64 - C++ Builder
Столкнулся с проблемой запуска программы на 64 битной системе. Установил через инсталятор программу, а она не запускается. Делалась на 32...

Сборки MinGW(win32/win64) от niXman C++1x - C++
никто не знает как MinGW(win32/win64) от niXman подключить к codeblocks? и с какими параметрами указывать? я установил threads - win32,...

Mingw-w64 MinGW TDM-GCC - C++
Всем привет. Хочу понять, существует ли принципиальная разница между Mingw-w64, MinGW и TDM-GCC? Какие плюсы/минусы у этих трех...

444
niXman
Эксперт С++
3139 / 1451 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
04.12.2012, 03:32  [ТС] #151
gdb входящий в комплект поставки mingw-builds - работает исправно и не имеет проблем с pretty printers. убедится в этом можно используя gdb напрямую.

а что такое "родной ппитон" ?
0
nenin
2 / 2 / 0
Регистрация: 03.12.2012
Сообщений: 59
04.12.2012, 03:40 #152
Цитата Сообщение от niXman Посмотреть сообщение
gdb входящий в комплект поставки mingw-builds - работает исправно и не имеет проблем с pretty printers. убедится в этом можно используя gdb напрямую.
А откуда он их цепляет? Может его как-нибудь конфигурировать надо?

а что такое "родной ппитон" ?
Родной питон- это который в mingw\opt\bin\ Путь я на него прописал.
0
niXman
Эксперт С++
3139 / 1451 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
04.12.2012, 03:45  [ТС] #153
Цитата Сообщение от nenin Посмотреть сообщение
А откуда он их цепляет?
<mingw-root>/shared

объясни, что у тебя не работает? и почему ты считаешь, что что-то не работает? как проверяешь? какая сборка используется? и т.д...

Добавлено через 16 секунд
Цитата Сообщение от nenin Посмотреть сообщение
Может его как-нибудь конфигурировать надо?
нет, не надо.
0
nenin
2 / 2 / 0
Регистрация: 03.12.2012
Сообщений: 59
04.12.2012, 04:52 #154
Цитата Сообщение от niXman Посмотреть сообщение
<mingw-root>/shared
объясни, что у тебя не работает? и почему ты считаешь, что что-то не работает? как проверяешь? какая сборка используется? и т.д...
Сборка x32-4.7.2-release-win32-sjlj-rev2, с x64-4.8.0-snapshot-20121123-rev193725-win32-seh-rev0 тож самое (я с нее начал).
Если просто выходить в отладку, то контейнеры STL парсятся формально, типа

Код
> print vec
$1 = {<std::_Vector_base<int, std::allocator<int> >> = {_M_impl = {<std::allocator<int>> = {<__gnu_cxx::new_allocator<int>> = {<No data fields>}, <No data fields>},
 _M_start = 0x5f28e0, _M_finish = 0x5f30b0, _M_end_of_storage = 0x5f30b0}}, <No data fields>}
если попробовать подключить инициализатор для gdb, stl.gdb с соотв. принтерами от ollydbg, то появляется ещё ошибка
Код
Error while executing Python code.
Добавлено через 39 минут
Как оказалось, gdb теперь требует прописи полного пути к pretty printer в stl.gdb.
вот так:
Код
python
import sys
sys.path.insert(0, 'c:\mingw\share\gcc-4.7.2\python')
from libstdcxx.v6.printers import register_libstdcxx_printers
register_libstdcxx_printers (None)
end
Добавлено через 7 минут
или относительного пути
Код
python
sys.path.insert(0, '..\..\share\gcc-4.7.2\python')
end
надо полагать от проекта.
0
Alexpux
112 / 21 / 0
Регистрация: 28.10.2012
Сообщений: 35
04.12.2012, 08:06 #155
nenin, если есть возможность попробуй такой вариант:
- скопировать содержимое opt в корень mingw-builds
- запустить gdborig вместо gdb
- отписаться работает ли этот вариант
И еще выведи sys.path типа таким образом:
Python
1
2
3
4
python
print(sys.path)
sys.path.insert(0, '..\..\share\gcc-4.7.2\python')
end
Добавлено через 5 минут
Да кстати, напиши какой-нибудь простенький testcase для проблемы чтобы мы могли потестить из консоли

Добавлено через 1 час 15 минут
Еще вот ссылочку глянь http://sourceware.org/gdb/wiki/STLSupport
Может в этом дело
2
nenin
2 / 2 / 0
Регистрация: 03.12.2012
Сообщений: 59
05.12.2012, 01:56 #156
Цитата Сообщение от Alexpux Посмотреть сообщение
nenin, если есть возможность попробуй такой вариант:
- скопировать содержимое opt в корень mingw-builds
- opt? Т.е. питона подмешать к остальным компилерам? Сейчас попробую...
- запустить gdborig вместо gdb
- не пускается. Ни в С::B ни в консоли.
И еще выведи sys.path типа таким образом:
ничего не выводится.
Python
1
print sys.path
дает ошибку.
Вообще же оно не хочет запускать pretty printer`oв и из c:/mingw/bin - а из c:\mingw\share\gcc-4.7.2\python пускает.

C::B до запуска gdb уходит в каталог проекта.

Добавлено через 15 минут
Даже если питона перетащить в корень mingw, pretty printer из c:/mingw/bin не работает- а из c:\mingw\share\gcc-4.7.2\python работает. Собственно, жить можно, хотя и странно все это...
0
Alexpux
112 / 21 / 0
Регистрация: 28.10.2012
Сообщений: 35
05.12.2012, 06:23 #157
По ссылке что я дал документацию смотрел? Там четко написано что нужно прописывать путь к принтерам libstdc++.
1
nenin
2 / 2 / 0
Регистрация: 03.12.2012
Сообщений: 59
05.12.2012, 15:35 #158
Цитата Сообщение от Alexpux Посмотреть сообщение
По ссылке что я дал документацию смотрел? Там четко написано что нужно прописывать путь к принтерам libstdc++.
Так путь в c:\mingw\bin у меня прописан и без того (и сборку gdb ollydbg это устраивало) и его добавление ещё раз в stl.gdb не помогает. На чем, собственно, я и споткнулся.
0
Alexpux
112 / 21 / 0
Регистрация: 28.10.2012
Сообщений: 35
05.12.2012, 17:36 #159
Ты документацию-то читал? Нужно создать файл .gdbinit с инициализацией принтеров и положить в домашнюю директорию его
1
niXman
Эксперт С++
3139 / 1451 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
05.12.2012, 17:49  [ТС] #160
Цитата Сообщение от Alexpux Посмотреть сообщение
и положить в домашнюю директорию его
а домашняя директория без MSYS, это где?

Добавлено через 35 секунд
да и кто будет выполнять .gdbinit если не MSYS?

Добавлено через 7 минут
Цитата Сообщение от Alexpux Посмотреть сообщение
Ты документацию-то читал?
я не читал, если что.
0
Alexpux
112 / 21 / 0
Регистрация: 28.10.2012
Сообщений: 35
05.12.2012, 18:17 #161
Файл .gdbinit использует сам gdb. Домашняя директория в винде есть у каждого пользователя если что). Вот что пишут про запуск gdb в официальной доке:
Here's the description of what gdb does during session startup:
1. Sets up the command interpreter as specified by the command line (see interpreter).
2. Reads the system-wide init file (if --with-system-gdbinit was used when building gdb; see System-wide configuration and settings) and executes all the commands in that file.
3. Reads the init file (if any) in your home directory1 and executes all the commands in that file.
4. Executes commands and command files specified by the `-iex' and `-ix' options in their specified order. Usually you should use the `-ex' and `-x' options instead, but this way you can apply settings before gdb init files get executed and before inferior gets loaded.
5. Processes command line options and operands.
6. Reads and executes the commands from init file (if any) in the current working directory as long as `set auto-load local-gdbinit' is set to `on' (see Init File in the Current Directory). This is only done if the current directory is different from your home directory. Thus, you can have more than one init file, one generic in your home directory, and another, specific to the program you are debugging, in the directory where you invoke gdb.
7. If the command line specified a program to debug, or a process to attach to, or a core file, gdb loads any auto-loaded scripts provided for the program or for its loaded shared libraries. See Auto-loading.
If you wish to disable the auto-loading during startup, you must do something like the following:

$ gdb -iex "set auto-load python-scripts off" myprogram

Option `-ex' does not work because the auto-loading is then turned off too late.

8. Executes commands and command files specified by the `-ex' and `-x' options in their specified order. See Command Files, for more details about gdb command files.
9. Reads the command history recorded in the history file. See Command History, for more details about the command history and the files where gdb records it.
С другой стороны gdb можно сконфигурировать на чтение определенного файла настроек при компилировании. На этот счет есть вот это:

gdb can be configured to have a system-wide init file; this file will be read and executed at startup (see What gdb does during startup).
Here is the corresponding configure option:
--with-system-gdbinit=file
Specify that the default location of the system-wide init file is file.
If gdb has been configured with the option --prefix=$prefix, it may be subject to relocation. Two possible cases:
- If the default location of this init file contains $prefix, it will be subject to relocation. Suppose that the configure options are --prefix=$prefix --with-system-gdbinit=$prefix/etc/gdbinit; if gdb is moved from $prefix to $install, the system init file is looked for as $install/etc/gdbinit instead of $prefix/etc/gdbinit.
- By contrast, if the default location does not contain the prefix, it will not be relocated. E.g. if gdb has been configured with --prefix=/usr/local --with-system-gdbinit=/usr/share/gdb/gdbinit, then gdb will always look for /usr/share/gdb/gdbinit, wherever gdb is installed.
Возможно тот mingw который работал из коробки с принтерами для stl был как раз настроен при компиляции на подхват файла настроек.
0
nenin
2 / 2 / 0
Регистрация: 03.12.2012
Сообщений: 59
05.12.2012, 18:53 #162
Читал. В кодеблоках с .gdbinit завязали пару лет назад - вместо него используется инициализация через кодеблоки, в общем-то то же самое. Класть .gdbinit надо было в директорию с проектом.

Добавлено через 17 минут
Цитата Сообщение от Alexpux Посмотреть сообщение
Возможно тот mingw который работал из коробки с принтерами для stl был как раз настроен при компиляции на подхват файла настроек.
"тот mingw"- это все тот же mingw-builds, только gdb был от ollydbg. И он находил принтеры по путям в c:\mingw\bin.
0
Alexpux
112 / 21 / 0
Регистрация: 28.10.2012
Сообщений: 35
06.12.2012, 08:22 #163
nenin, если не сложно дай ссылочку на gdb от ollydbg, который работает сразу с принтерами. Хочу посмотреть что там нагородили.
0
nenin
2 / 2 / 0
Регистрация: 03.12.2012
Сообщений: 59
06.12.2012, 13:42 #164
Цитата Сообщение от Alexpux Посмотреть сообщение
nenin, если не сложно дай ссылочку на gdb от ollydbg, который работает сразу с принтерами. Хочу посмотреть что там нагородили.
Я отсюда беру: http://forums.codeblocks.org/index.php/topic,11301.0.html
Кстати, на форуме С::B появилась ссылка http://wiki.codeblocks.org/index.php?title=Pretty_Printers
с +/- теми, "полнопутевыми" же настройками.
0
Alexpux
112 / 21 / 0
Регистрация: 28.10.2012
Сообщений: 35
06.12.2012, 13:52 #165
Кстати, на форуме С::B появилась ссылка http://wiki.codeblocks.org/index.php?title=Pretty_Printers
с +/- теми, "полнопутевыми" же настройками.
Что и требовалось доказать)
0
06.12.2012, 13:52
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.12.2012, 13:52
Привет! Вот еще темы с ответами:

Компиляция для win32 bit на win64 - C++
День добрый. Подскажите как в Visual Studio (или еще где) на 64 битной машине (win 8 ) скомпилировать консольное приложение, которое...

Как установить принтер подключённый к Win32 на Win64 - Windows 7
Здравствуйте. Забыл как я делал... А мне надо установить принтер Samsung SCX-4100 который соединён по USB c компом на котором стоит WinXP...

Linker Ошибки [gcc\MingW] - C++
Есть код : #define _WIN32_WINNT 0x0500 //Необходимо для определения функции GetConsoleWindow() в WinCon.h #include &lt;Windows.h&gt; ...

Какой GCC+MinGW нужно устанавливать? - C Linux
У меня Убунта 14.04 64 разрядная, в списке дистрибутив компиляторов много, какой из них выбрать и как для С? gcc-mingw-w64: GNU C...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
165
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.