Форум программистов, компьютерный форум CyberForum.ru

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 1004, средняя оценка - 4.94
niXman
Эксперт C++
 Аватар для niXman
3134 / 1446 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
30.07.2011, 22:48     Сборки MinGW(GCC-win32/win64) от niXman #1
с этого момента, буду производить тестовые/пререлизные/релизные сборки mingw.
файлы с пометкой snapshot и prerelease - не стабильные версии. в реальных проектах использовать не рекомендую. использую для тестирования новых фитчей.
файлы с пометкой release - стабильные, прошедшие тесты.
скачать можно тут.
скачать онлайн-инсталятор можно тут.
скачать msys2 можно тут

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

Не по теме:

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

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
castaway
Эксперт С++
4867 / 3006 / 370
Регистрация: 10.11.2010
Сообщений: 11,056
Записей в блоге: 10
Завершенные тесты: 1
20.09.2012, 23:29     Сборки MinGW(GCC-win32/win64) от niXman #101
niXman, она объявлена в winuser.h (проверки на версию ОС нет), и в libuser32.a так же присутствует. У меня соображений никаких.

Добавлено через 2 минуты
Цитата Сообщение от niXman Посмотреть сообщение
а в .def файл забыли =)
так там же .def файлов нет вообще. Или они только в исходниках?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
niXman
Эксперт C++
 Аватар для niXman
3134 / 1446 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
20.09.2012, 23:46  [ТС]     Сборки MinGW(GCC-win32/win64) от niXman #102
Цитата Сообщение от lazybiz Посмотреть сообщение
в libuser32.a так же присутствует
уже вижу. попробую разобраться...

Цитата Сообщение от lazybiz Посмотреть сообщение
они только в исходниках?
да.

Добавлено через 4 минуты
так, понятно.

в общем, эта функция присутствует в CRT для x86_64, и успешно линкуется.
а в CRT для i686 ее просто недобавили.

ты проверял 64 битными сборками?

Добавлено через 7 минут
исправил.
отправлю патч разрабам, но пересобирать пока не буду.
сам разберешься как библиотеку импорта сгенерить из .def файла?

Цитата Сообщение от niXman Посмотреть сообщение
ты проверял 64 битными сборками?
пинг?
castaway
Эксперт С++
4867 / 3006 / 370
Регистрация: 10.11.2010
Сообщений: 11,056
Записей в блоге: 10
Завершенные тесты: 1
20.09.2012, 23:53     Сборки MinGW(GCC-win32/win64) от niXman #103
Я использую GCC x86_64, но с флагами "-m32 -march=i686". В этом случае проблема актуальна. А вот без них (только что проверил) у меня появились кое-какие другие проблемы. В течение 15 минут попробую описать...
niXman
Эксперт C++
 Аватар для niXman
3134 / 1446 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
20.09.2012, 23:57  [ТС]     Сборки MinGW(GCC-win32/win64) от niXman #104
Цитата Сообщение от lazybiz Посмотреть сообщение
В течение 15 минут попробую описать...
давай. любопытно...
ссылку на архив не забудь. или имя файла архива.
castaway
Эксперт С++
4867 / 3006 / 370
Регистрация: 10.11.2010
Сообщений: 11,056
Записей в блоге: 10
Завершенные тесты: 1
21.09.2012, 00:05     Сборки MinGW(GCC-win32/win64) от niXman #105
Может не по теме.. но все же.
В x86_64 без "-m32 -march=i686" появились
ошибки
layer.cpp:25:62: error: cast from 'HINSTANCE' to 'uint32_t {aka unsigned int}' loses precision [-fpermissive]
layer.cpp: In constructor 'biz::layer::layer(int32_t, int32_t, uint32_t, uint32_t, uint32_t)':
layer.cpp:62:24: error: 'GWL_USERDATA' was not declared in this scope
layer.cpp:62:44: error: cast from 'biz::layer*' to 'LONG {aka long int}' loses precision [-fpermissive]
Преобразование явное. Стандарт что там, что там c++11, но при "-m32 -march=i686" нет ни то что ошибок, даже предупреждениями не пахнет.

Цитата Сообщение от niXman Посмотреть сообщение
Сам разберешься как библиотеку импорта сгенерить из .def файла?
Разберусь, но с твоего волшебного пинка процесс пойдет значительно быстрее.

Добавлено через 36 секунд
Цитата Сообщение от niXman Посмотреть сообщение
ссылку на архив не забудь. или имя файла архива.
Ты об этом: x86_64-mingw-w64-gcc-4.7.2-release-c,c++,fortran-sjlj-rev0.7z ?
niXman
Эксперт C++
 Аватар для niXman
3134 / 1446 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
21.09.2012, 00:14  [ТС]     Сборки MinGW(GCC-win32/win64) от niXman #106
Цитата Сообщение от lazybiz Посмотреть сообщение
error: cast from 'HINSTANCE' to 'uint32_t
тут все стандартно.
если мне не изменяет память, HINSTANCE это указатель. таким образом, для 32ух битного компилятора тут все валидно. но а вот для 64ех битного - нет, потому что указатель имеет размер 64бита. таким образом ты теряешь(можешь потерять) часть значения, о чем тебя компилятор честно предупреждает: loses precision

Добавлено через 1 минуту
Цитата Сообщение от lazybiz Посмотреть сообщение
error: cast from 'HINSTANCE' to 'uint32_t
тут все стандартно.
если мне не изменяет память, HINSTANCE это указатель. таким образом, для 32ух битного компилятора тут все валидно. но а вот для 64ех битного - нет, потому что указатель имеет размер 64бита. таким образом ты теряешь(можешь потерять) часть значения, о чем тебя компилятор честно предупреждает: loses precision

Добавлено через 1 минуту
Цитата Сообщение от lazybiz Посмотреть сообщение
Ты об этом: x86_64-mingw-w64-gcc-4.7.2-release-c,c++,fortran-sjlj-rev0.7z ?
ага.

зы
патч выслал разрабам. приняли. больше этот баг не повторится.
castaway
Эксперт С++
4867 / 3006 / 370
Регистрация: 10.11.2010
Сообщений: 11,056
Записей в блоге: 10
Завершенные тесты: 1
21.09.2012, 00:47     Сборки MinGW(GCC-win32/win64) от niXman #107
niXman, спасибо.
Возможно не по теме, но мне не дает покоя этот
вопрос

Не по теме:

Тут то что может быть:

layer.cpp:62:24: error: 'GWL_USERDATA' was not declared in this scope

В связи с этим, проверить код под x86_64 пока не могу.
niXman
Эксперт C++
 Аватар для niXman
3134 / 1446 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
21.09.2012, 01:01  [ТС]     Сборки MinGW(GCC-win32/win64) от niXman #108
Цитата Сообщение от lazybiz Посмотреть сообщение
error: 'GWL_USERDATA' was not declared in this scope
сделай поиск по хидерам.
или, возможно, это последствия первой ошибки с которой столкнулся компилятор. попробуй исправь первую, и повтори сборку.

Добавлено через 9 минут
и кстати, у mingw-builds есть список рассылки. там можно общаться на русском
castaway
Эксперт С++
4867 / 3006 / 370
Регистрация: 10.11.2010
Сообщений: 11,056
Записей в блоге: 10
Завершенные тесты: 1
21.09.2012, 01:32     Сборки MinGW(GCC-win32/win64) от niXman #109
Нашел ошибку. SetWindowLong считается deprecated. Следует использовать SetWindowLongPtr.
В общем ошибка не в MinGW. Спасибо тебе за ответы!

Добавлено через 1 минуту
Цитата Сообщение от niXman Посмотреть сообщение
и кстати, у mingw-builds есть список рассылки. там можно общаться на русском
Ха) Спасибо, не знал. Возьму на заметку
Sania
0 / 0 / 0
Регистрация: 28.09.2012
Сообщений: 5
28.09.2012, 15:09     Сборки MinGW(GCC-win32/win64) от niXman #110
Скачал сборку i686-mingw-w64-gcc-4.7.2-release-c,c++,fortran-sjlj-rev1.7z - в ней, по моему, не хватает следующих файлов: include\GL\glut.h (хотя есть libglut.a и libglut32.a) не хватает libgl.a (знаю что есть libopengl32, но коли уж есть libglut.a то было бы логично) и аналогично libglu.a. Некоторые библиотеки типа ShivaVG хотят их.

И еще. есть простой пример с библиотекой libjpeg:
#include <stdio.h>
#include <stdlib.h>
#include <jpeglib.h>
int main(void) {jpeg_create_decompress(0); return 0;}

компилирую его так:
gcc -o conftest.exe -lm -ljpeg conftest.c
вырает ошибку:
C:\Temp\cckshgsp.o:conftest.c.text+0x26): undefined reference to `jpeg_CreateDecompress'
collect2.exe: error: ld returned 1 exit status

Компилирую так: gcc -o conftest.exe -lm conftest.c -ljpeg
Ошибка не выдается. Вопрос - порядок следования параметров важен? или это ошибка компилятора?
niXman
Эксперт C++
 Аватар для niXman
3134 / 1446 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
28.09.2012, 15:12  [ТС]     Сборки MinGW(GCC-win32/win64) от niXman #111
Цитата Сообщение от Sania Посмотреть сообщение
в ней, по моему, не хватает следующих файлов: include\GL\glut.h (хотя есть libglut.a и libglut32.a) не хватает libgl.a (знаю что есть libopengl32, но коли уж есть libglut.a то было бы логично) и аналогично libglu.a.
я не в курсе, но разве эти библиотеки должны входить в комплект поставки mingw?
есть какой-то пруф, говорящий об этом?

Цитата Сообщение от Sania Посмотреть сообщение
порядок следования параметров важен?
обычно нет. но бывают и случаи когда важен.
Sania
0 / 0 / 0
Регистрация: 28.09.2012
Сообщений: 5
28.09.2012, 15:23     Сборки MinGW(GCC-win32/win64) от niXman #112
Цитата Сообщение от niXman Посмотреть сообщение
я не в курсе, но разве эти библиотеки должны входить в комплект поставки mingw?
есть какой-то пруф, говорящий об этом?
этого я не знаю, но знаю точно что GL\glut.h и libglut.a - это два сапога пара

Цитата Сообщение от niXman Посмотреть сообщение
обычно нет. но бывают и случаи когда важен.
А как знающий GCC, можете подсказать, данный конкретный пример - параметр с именем компилируемого файла (conftest.c) и используемой в нем функции библиотеки (libjpeg.a: -ljpeg) - тут важно что библиотека должна быть указана после исходника или это всё же некая ошибка? В яндексе на эту тему не нашел, а ранее е приходилось задумываться.
niXman
Эксперт C++
 Аватар для niXman
3134 / 1446 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
28.09.2012, 15:33  [ТС]     Сборки MinGW(GCC-win32/win64) от niXman #113
Цитата Сообщение от Sania Посмотреть сообщение
GL\glut.h и libglut.h
я не думаю что это ошибка. так же, я не думаю что разрабы забыли про эти файлы. давно бы уже кто-то напомнил.
или в предыдущих сборках эти файлы присутствовали?

по остальному - погугли словосочетание "mingw libraries link order"
silent_1991
Эксперт C++
4947 / 3023 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
28.09.2012, 18:12     Сборки MinGW(GCC-win32/win64) от niXman #114
Sania, не входит глут в поставку гцц.
castaway
Эксперт С++
4867 / 3006 / 370
Регистрация: 10.11.2010
Сообщений: 11,056
Записей в блоге: 10
Завершенные тесты: 1
28.09.2012, 18:40     Сборки MinGW(GCC-win32/win64) от niXman #115
Sania, можно установить вручную: http://files.transmissionzero.co.uk/...glut-MinGW.zip (32-битная версия)
Jupiter
Каратель
Эксперт C++
6545 / 3965 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
28.09.2012, 20:23     Сборки MinGW(GCC-win32/win64) от niXman #116
Цитата Сообщение от niXman Посмотреть сообщение
но разве эти библиотеки должны входить в комплект поставки mingw?
glut не должен, но бинарник почему-то есть, а хедера к нему нет, парадокс
Sania
0 / 0 / 0
Регистрация: 28.09.2012
Сообщений: 5
28.09.2012, 22:15     Сборки MinGW(GCC-win32/win64) от niXman #117
То то и оно, логично что глут не должен входить в поставку компилятора, как не входит в составы других компиляторов, но вот библиотека почему то присутствует, поэтому и возникли сомнения.
niXman
Эксперт C++
 Аватар для niXman
3134 / 1446 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
28.09.2012, 22:23  [ТС]     Сборки MinGW(GCC-win32/win64) от niXman #118
lazybiz, Sania, как точно зовется либа?

Добавлено через 14 секунд
т.е. файл библиотеки о котором вы говорите.
Sania
0 / 0 / 0
Регистрация: 28.09.2012
Сообщений: 5
28.09.2012, 22:32     Сборки MinGW(GCC-win32/win64) от niXman #119
Цитата Сообщение от niXman Посмотреть сообщение
lazybiz, Sania, как точно зовется либа?

Добавлено через 14 секунд
т.е. файл библиотеки о котором вы говорите.
http://www.opengl.org/resources/libraries/glut/

от нее соответственно в сборке компилятора есть только часть без инклудов:
mingw\i686-w64-mingw32\lib\libglut.a
mingw\i686-w64-mingw32\lib\libglut32.a
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.09.2012, 22:34     Сборки MinGW(GCC-win32/win64) от niXman
Еще ссылки по теме:

Как создать немодальный диалог на Win64 API? C++ WinAPI
C++ Gcc без MinGW
Компиляция для win32 bit на win64 C++
C++ Builder Запуск программы на Win64
C++ Mingw-w64 MinGW TDM-GCC

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

Или воспользуйтесь поиском по форуму:
niXman
Эксперт C++
 Аватар для niXman
3134 / 1446 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
28.09.2012, 22:34  [ТС]     Сборки MinGW(GCC-win32/win64) от niXman #120
ок. попробую понять, импорт каких функций они предоставляют.
Yandex
Объявления
28.09.2012, 22:34     Сборки MinGW(GCC-win32/win64) от niXman
Ответ Создать тему

Метки
mingw, mingw-w64, nixman, Сборки
Опции темы

Текущее время: 05:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru