Автор Тема: MinGW  (Прочитано 32213 раз)

ilovb

  • Hero Member
  • *****
  • Сообщений: 2538
  • just another nazi test
    • Просмотр профиля
    • Oberon systems
Re: MinGW
« Ответ #75 : Май 12, 2013, 07:40:07 pm »
А какой дистрибутив и как ставили?

Berserker

  • Sr. Member
  • ****
  • Сообщений: 254
    • Просмотр профиля
Re: MinGW
« Ответ #76 : Май 12, 2013, 07:42:31 pm »
Цитировать
Basically, there's not really anything you can do to reduce that .exe size with a base distribution of mingw. 550kb is about as small as you can get it, because mingw and gcc/g++ in general are bad at stripping unused functions. About 530kb of that is from the msvcrt.a library.

If you really wanted to get into it, you might be able to rebuild the msvcrt.a library with -ffunction-sections -fdata-sections compiler options, and then use the -Wl,--gc-sections linker options when linking your app, and this should be able to strip a lot of that stuff out of there. But if you're just learning C++, rebuilding that library may be a bit advanced.

Or you could just use MSVC, which is great at stripping unused functions. That same bit of code compiled with MSVC produces a 10kb exe.

Jordan

  • Sr. Member
  • ****
  • Сообщений: 282
    • Просмотр профиля
Re: MinGW
« Ответ #77 : Май 12, 2013, 07:44:29 pm »
windows xp sp3, mingw ставил веб установщиком версия mingw-get-inst-20120426.exe
Указал папку куда ставить и что нужно скачать с и с++ компилятор.

Сейчас переставлю mingw.

ilovb

  • Hero Member
  • *****
  • Сообщений: 2538
  • just another nazi test
    • Просмотр профиля
    • Oberon systems
Re: MinGW
« Ответ #78 : Май 12, 2013, 07:45:43 pm »
А в PATH у вас путь появился для MinGW?

DddIzer

  • Гость
Re: MinGW
« Ответ #79 : Май 12, 2013, 07:48:10 pm »
в path  должны быть установлены пути к include, bin, lib директориям мингв.. если конечно вы не используете самопальный make-файл или ворох опций в командной строке
« Последнее редактирование: Май 12, 2013, 07:49:43 pm от DddIzer »

Jordan

  • Sr. Member
  • ****
  • Сообщений: 282
    • Просмотр профиля
Re: MinGW
« Ответ #80 : Май 12, 2013, 07:52:56 pm »
А в PATH у вас путь появился для MinGW?

Переустановил так же. Как посмотреть path?

в path  должны быть установлены пути к include, bin, lib директориям мингв.. если конечно вы не используете самопальный make-файл или ворох опций в командной строке

Именно ворох опций

"e:\MinGW\bin\g++" -static -s -O2 -lmingw32 -lSDLmain -lSDL.dll main.cpp
call a.exe
pause     

Jordan

  • Sr. Member
  • ****
  • Сообщений: 282
    • Просмотр профиля
Re: MinGW
« Ответ #81 : Май 12, 2013, 07:54:59 pm »
Цитировать
Basically, there's not really anything you can do to reduce that .exe size with a base distribution of mingw. 550kb is about as small as you can get it, because mingw and gcc/g++ in general are bad at stripping unused functions. About 530kb of that is from the msvcrt.a library.

If you really wanted to get into it, you might be able to rebuild the msvcrt.a library with -ffunction-sections -fdata-sections compiler options, and then use the -Wl,--gc-sections linker options when linking your app, and this should be able to strip a lot of that stuff out of there. But if you're just learning C++, rebuilding that library may be a bit advanced.

Or you could just use MSVC, which is great at stripping unused functions. That same bit of code compiled with MSVC produces a 10kb exe.

С ключиками попробую, но MSVC не то, он платный, да и смысл использовать его когда есть бесплатный аналог.

DddIzer

  • Гость
Re: MinGW
« Ответ #82 : Май 12, 2013, 08:10:34 pm »
Цитировать
Basically, there's not really anything you can do to reduce that .exe size with a base distribution of mingw. 550kb is about as small as you can get it, because mingw and gcc/g++ in general are bad at stripping unused functions. About 530kb of that is from the msvcrt.a library.

If you really wanted to get into it, you might be able to rebuild the msvcrt.a library with -ffunction-sections -fdata-sections compiler options, and then use the -Wl,--gc-sections linker options when linking your app, and this should be able to strip a lot of that stuff out of there. But if you're just learning C++, rebuilding that library may be a bit advanced.

Or you could just use MSVC, which is great at stripping unused functions. That same bit of code compiled with MSVC produces a 10kb exe.

С ключиками попробую, но MSVC не то, он платный, да и смысл использовать его когда есть бесплатный аналог.
он бесплатный (если ставится отдельно от студии)

Jordan

  • Sr. Member
  • ****
  • Сообщений: 282
    • Просмотр профиля
Re: MinGW
« Ответ #83 : Май 12, 2013, 08:12:07 pm »
Сейчас я готов ставить хоть MSVC главное, чтоб заработало.

DddIzer

  • Гость
Re: MinGW
« Ответ #84 : Май 12, 2013, 08:14:00 pm »
поставьте wxdev-c++ - при инсталяции уберите галочку с установки виджетов.. и будет у вас искоропки русифицированная настроенная ide c mingw
под консоль либо винапи
« Последнее редактирование: Май 12, 2013, 08:15:41 pm от DddIzer »

ilovb

  • Hero Member
  • *****
  • Сообщений: 2538
  • just another nazi test
    • Просмотр профиля
    • Oberon systems
Re: MinGW
« Ответ #85 : Май 12, 2013, 08:15:53 pm »
Jordan, посмотрите начало ветки.

echo %path%

Jordan

  • Sr. Member
  • ****
  • Сообщений: 282
    • Просмотр профиля
Re: MinGW
« Ответ #86 : Май 12, 2013, 08:17:53 pm »
Jordan, посмотрите начало ветки.

echo %path%

g:\3>echo E:\Program Files\NVIDIA Corporation\PhysX\Common;E:\WINDOWS\system32;E
:\WINDOWS;E:\WINDOWS\System32\Wbem;C:\WINDOWS;C:\WINDOWS\COMMAND
E:\Program Files\NVIDIA Corporation\PhysX\Common;E:\WINDOWS\system32;E:\WINDOWS;
E:\WINDOWS\System32\Wbem;C:\WINDOWS;C:\WINDOWS\COMMAND

mingw нет.

поставьте wxdev-c++ - при инсталяции уберите галочку с установки виджетов.. и будет у вас искоропки русифицированная настроенная ide c mingw
под консоль либо винапи

Уже качаю.

ilovb

  • Hero Member
  • *****
  • Сообщений: 2538
  • just another nazi test
    • Просмотр профиля
    • Oberon systems
Re: MinGW
« Ответ #87 : Май 12, 2013, 08:28:40 pm »
Добавьте "что там у вас"/MinGW/bin в PATH и будет вам щастье

Jordan

  • Sr. Member
  • ****
  • Сообщений: 282
    • Просмотр профиля
Re: MinGW
« Ответ #88 : Май 12, 2013, 08:51:17 pm »
Добавьте "что там у вас"/MinGW/bin в PATH и будет вам щастье

Прписал, ошибка осталась.

Цитировать

g:\3>rem "e:\MinGW\bin\g++" -static -s -O2 -lmingw32 -lSDLmain -lSDL.dll main.cp
p

g:\3>SET PATH=e:\Program Files\Dev-Cpp\MinGW32\bin\;E:\Program Files\NVIDIA Corp
oration\PhysX\Common;E:\WINDOWS\system32;E:\WINDOWS;E:\WINDOWS\System32\Wbem;C:\
WINDOWS;C:\WINDOWS\COMMAND

g:\3>g++ -static -s -O2 -lmingw32 -lSDLmain -lSDL.dll main.cpp
E:\DOCUME~1\┼┬├┼═╚╔\LOCALS~1\Temp\ccsbpY8r.o:main.cpp:(.text+0x43): undefined re
ference to `SDL_SetVideoMode'
collect2: ld returned 1 exit status

g:\3>call a.exe
"a.exe" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.

g:\3>pause
Для продолжения нажмите любую клавишу . . .

DddIzer

  • Гость
Re: MinGW
« Ответ #89 : Май 12, 2013, 09:23:46 pm »

Уже качаю.
после установки
1. Запустите Иде (выбрав русский язык для интерфейса)
2. Создайте консольный проект С++ в отдельной папке
3. Скомпилируйте запустите...  - посмотрите  что создается в папке проекта.. структуру маке файла
 если все работает...
то  в меню Сервис - параметры компилятора..
4. на вкладке опций компилятора - можете поиграться со своими опциями
5. на вкладке каталоги (вкладка библиотеки) добавьте путь к библиотечным файлам SDL - если они есть
    на вкладке включаемые файлы (С,С++) - добавьте путь к  директории содержащей заголовочные файлы  SDL
6. если SDL требует дополнительных опций компилятора то см. п.4. и документацию  SDL