1 | |
Сборки MinGW(GCC-win32/win64) от niXman30.07.2011, 22:48. Показов 271137. Ответов 459
с этого момента, буду производить тестовые/пререлизные/релизные сборки mingw.
файлы с пометкой snapshot и prerelease - не стабильные версии. в реальных проектах использовать не рекомендую. использую для тестирования новых фитчей. файлы с пометкой release - стабильные, прошедшие тесты. скачать можно тут. скачать онлайн-инсталятор можно тут. скачать msys2 можно тут в скором времени начну формировать пакеты для разработчиков состоящие из компилятора(mingw), IDE(QtCreator/CodeBlock/Dev-C++/wxDev-cpp), и некоторого набора предкомпилированных библиотек(boost, Wx, Qt, OpenSsl, и еще каких-то.. понять бы что в спросе...). пакеты не будут требовать установки/настройки. распаковал - используй. Не по теме: старая ссылка тут.
43
|
30.07.2011, 22:48 | |
Ответы с готовыми решениями:
459
Как перекомпилить Win32 dll -> Win64 Gcc без MinGW Win32 -> Win64 = BEX Упаковка ресурсов в exe. gcc (MinGW) |
20.09.2012, 23:29 | 101 |
niXman, она объявлена в winuser.h (проверки на версию ОС нет), и в libuser32.a так же присутствует. У меня соображений никаких.
Добавлено через 2 минуты так там же .def файлов нет вообще. Или они только в исходниках?
0
|
20.09.2012, 23:46 [ТС] | 102 |
уже вижу. попробую разобраться...
да. Добавлено через 4 минуты так, понятно. в общем, эта функция присутствует в CRT для x86_64, и успешно линкуется. а в CRT для i686 ее просто недобавили. ты проверял 64 битными сборками? Добавлено через 7 минут исправил. отправлю патч разрабам, но пересобирать пока не буду. сам разберешься как библиотеку импорта сгенерить из .def файла? пинг?
1
|
20.09.2012, 23:53 | 103 |
Я использую GCC x86_64, но с флагами "-m32 -march=i686". В этом случае проблема актуальна. А вот без них (только что проверил) у меня появились кое-какие другие проблемы. В течение 15 минут попробую описать...
0
|
21.09.2012, 00:05 | 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] Разберусь, но с твоего волшебного пинка процесс пойдет значительно быстрее. Добавлено через 36 секунд Ты об этом: x86_64-mingw-w64-gcc-4.7.2-release-c,c++,fortran-sjlj-rev0.7z ?
0
|
21.09.2012, 00:14 [ТС] | 106 |
тут все стандартно.
если мне не изменяет память, HINSTANCE это указатель. таким образом, для 32ух битного компилятора тут все валидно. но а вот для 64ех битного - нет, потому что указатель имеет размер 64бита. таким образом ты теряешь(можешь потерять) часть значения, о чем тебя компилятор честно предупреждает: loses precision Добавлено через 1 минуту тут все стандартно. если мне не изменяет память, HINSTANCE это указатель. таким образом, для 32ух битного компилятора тут все валидно. но а вот для 64ех битного - нет, потому что указатель имеет размер 64бита. таким образом ты теряешь(можешь потерять) часть значения, о чем тебя компилятор честно предупреждает: loses precision Добавлено через 1 минуту ага. зы патч выслал разрабам. приняли. больше этот баг не повторится.
1
|
21.09.2012, 01:01 [ТС] | 108 |
сделай поиск по хидерам.
или, возможно, это последствия первой ошибки с которой столкнулся компилятор. попробуй исправь первую, и повтори сборку. Добавлено через 9 минут и кстати, у mingw-builds есть список рассылки. там можно общаться на русском
1
|
21.09.2012, 01:32 | 109 |
Нашел ошибку. SetWindowLong считается deprecated. Следует использовать SetWindowLongPtr.
В общем ошибка не в MinGW. Спасибо тебе за ответы! Добавлено через 1 минуту Ха) Спасибо, не знал. Возьму на заметку
0
|
0 / 0 / 0
Регистрация: 28.09.2012
Сообщений: 5
|
|
28.09.2012, 15:09 | 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 Ошибка не выдается. Вопрос - порядок следования параметров важен? или это ошибка компилятора?
0
|
28.09.2012, 15:12 [ТС] | 111 |
я не в курсе, но разве эти библиотеки должны входить в комплект поставки mingw?
есть какой-то пруф, говорящий об этом? обычно нет. но бывают и случаи когда важен.
0
|
0 / 0 / 0
Регистрация: 28.09.2012
Сообщений: 5
|
|
28.09.2012, 15:23 | 112 |
этого я не знаю, но знаю точно что GL\glut.h и libglut.a - это два сапога пара
А как знающий GCC, можете подсказать, данный конкретный пример - параметр с именем компилируемого файла (conftest.c) и используемой в нем функции библиотеки (libjpeg.a: -ljpeg) - тут важно что библиотека должна быть указана после исходника или это всё же некая ошибка? В яндексе на эту тему не нашел, а ранее е приходилось задумываться.
0
|
28.09.2012, 15:33 [ТС] | 113 |
я не думаю что это ошибка. так же, я не думаю что разрабы забыли про эти файлы. давно бы уже кто-то напомнил.
или в предыдущих сборках эти файлы присутствовали? по остальному - погугли словосочетание "mingw libraries link order"
0
|
5055 / 3115 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|
28.09.2012, 18:12 | 114 |
Sania, не входит глут в поставку гцц.
0
|
28.09.2012, 18:40 | 115 |
Sania, можно установить вручную: http://files.transmissionzero.... -MinGW.zip (32-битная версия)
0
|
0 / 0 / 0
Регистрация: 28.09.2012
Сообщений: 5
|
|
28.09.2012, 22:15 | 117 |
То то и оно, логично что глут не должен входить в поставку компилятора, как не входит в составы других компиляторов, но вот библиотека почему то присутствует, поэтому и возникли сомнения.
0
|
0 / 0 / 0
Регистрация: 28.09.2012
Сообщений: 5
|
|
28.09.2012, 22:32 | 119 |
http://www.opengl.org/resources/libraries/glut/
от нее соответственно в сборке компилятора есть только часть без инклудов: mingw\i686-w64-mingw32\lib\libglut.a mingw\i686-w64-mingw32\lib\libglut32.a
0
|
28.09.2012, 22:34 [ТС] | 120 |
ок. попробую понять, импорт каких функций они предоставляют.
0
|
28.09.2012, 22:34 | |
28.09.2012, 22:34 | |
Помогаю со студенческими работами здесь
120
Сборки MinGW(win32/win64) от niXman C++1x Mingw-w64 MinGW TDM-GCC Компиляция для win32 bit на win64 Linker Ошибки [gcc\MingW] Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |