HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Флуд (https://hlfx.ru/forum/forumdisplay.php?forumid=11)
-- Выбор C++ компилятора (https://hlfx.ru/forum/showthread.php?threadid=2387)
Отправлено qpAHToMAS 18-10-2010 в 19:55:
Выбор C++ компилятора
Время от времени, являясь полным ламером в C++ я люблю ковыряться в Xash SDK. На Windows XP использовал MSVC 6.0 SP 5 для компиляции, но такой "мамонт" отказывается работать под нынешней Windows 7.
Собственно нужна помощь в выборе, каким компилятором можно быстро и легко извращаться над Xash'ем под Windows 7. IDE, просматривальщики ресурсов и прочие "фишки" не нужны.
В идеале хотелось бы что-нибудь бесплатное, компактное и маловесное.
Но я бы не отказался, если бы кто-нибудь выложил компилятор от MSVC 6.0 SP 5 и сказал как его использовать, если это возможно.
Отправлено XaeroX 18-10-2010 в 20:41:
Цитата:
qpAHToMAS писал:
На Windows XP использовал MSVC 6.0 SP 5 для компиляции, но такой "мамонт" отказывается работать под нынешней Windows 7
То есть как это - отказывается? 
__________________
Отправлено qpAHToMAS 18-10-2010 в 21:01:
XaeroX, давно ставил, там какая-то ошибка при запуске была. Сейчас уже не вспомнить.
Отправлено Дядя Миша 18-10-2010 в 21:07:
qpAHToMAS а может совместимость включить? в семерке
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено qpAHToMAS 18-10-2010 в 21:15:
Цитата:
Дядя Миша писал:
qpAHToMAS а может совместимость включить? в семерке
Да я бы больше рад был использовать голый компилятор, а не ставить все это и запускать IDE ради загрузки проекта и его компиляции
.
Где там компилятор лежит? Отодрать можно?
Отправлено Дядя Миша 19-10-2010 в 10:44:
qpAHToMAS да не надо ничего отдирать.
Компилируй бат файлами, не запуская IDE.
Вот пакетник из ксаша, которым я собираю все проекты разом.
Поудаляй оттуда строчки к библиотекам, исходников которых у тебя нету.
Для компиляции в дебуге достаточно заменить строчки Win32 Release
на Win32 Debug.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено qpAHToMAS 19-10-2010 в 13:33:
Цитата:
"vcvars32" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
"msdev" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
Это как я понимаю из-за того, что MSVC 6.0 ничерта не работает или была криво поставлена?
Я то думал, что можно сам исполняемый файл компилятора свободно таскать как хочешь...
Отправлено Дядя Миша 19-10-2010 в 13:50:
Цитата:
qpAHToMAS писал:
Это как я понимаю из-за того, что MSVC 6.0 ничерта не работает или была криво поставлена?
Я то думал, что можно сам исполняемый файл компилятора свободно таскать как хочешь...
это из-за того, што ты галочку не указал при установке.
Теперь открывай переменные окружения и добавляй туда вот это:
Переменные для пользователя qpAHToMAS:
include C:\Program Files\Microsoft Visual Studio\VC98\atl\include;C:\Program Files\Microsoft Visual Studio\VC98\mfc\include;C:\Program Files\Microsoft Visual Studio\VC98\include
lib C:\Program Files\Microsoft Visual Studio\VC98\mfc\lib;C:\Program Files\Microsoft Visual Studio\VC98\lib
MSDevDir C:\Program Files\Microsoft Visual Studio\Common\MSDev98
path C:\Program Files\Microsoft Visual Studio\Common\Tools\WinNT;C:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin;C:\Program Files\Microsoft Visual Studio\Common\Tools;C:\Program Files\Microsoft Visual Studio\VC98\bin
Системные переменные трогать не надо.
Добавлено 19-10-2010 в 17:49:
Жырным шрифтом выделено имя переменной, а курсивом - значение.
Добавлено 19-10-2010 в 17:50:
Цитата:
qpAHToMAS писал:
Я то думал, что можно сам исполняемый файл компилятора свободно таскать как хочешь...
а ты полагаешь он там один?__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено qpAHToMAS 19-10-2010 в 14:09:
Дядя Миша, спасибо, работает. Замечу, что во время установки на меня посыпался шквал говна. Походу речь идет про реестр и те самые переменные.
Попытка установки SP5 на MSVC 6.0 обрывается ошибкой.
Но это не помешало мне сделать компиляцию и получить нужные DLL. Что делает SP5? Много ли я теряю без него?
Цитата:
Дядя Миша писал:
а ты полагаешь он там один?
Да я вообще за Portable софт. А тулзы для разработчиков имхо, в первую очередь должны быть таковыми.
Отправлено adamix 19-10-2010 в 14:25:
Давно пора забыть про 6.0 как про говно мамонта. Юзайте 2005/2008.
Отправлено XaeroX 19-10-2010 в 14:29:
Цитата:
adamix писал:
Давно пора забыть про 6.0 как про говно мамонта. Юзайте 2005/2008.
Может быть, ты нам обоснуешь, чем так плоха 6.0?
Лично я меньше всего хочу сначала портировать двадцать dsp-шников, а потом еще в каждом ковырять параметры проекта, отключать всякие CLR и т.п. 2005 у меня тоже имеется, но "для мебели".__________________
Отправлено adamix 19-10-2010 в 15:38:
Цитата:
XaeroX писал:
Может быть, ты нам обоснуешь, чем так плоха 6.0?
Плохой поддержкой стандарта.
Отправлено Ku2zoff 19-10-2010 в 15:48:
6 студия прекрасно работает под семёркой, она несколько раз пишет о несовместимости, надо просто нажать "не задавать больше этот вопрос"
Другое дело Visual Studio .NET 2003. В ней Find in Files не работает. Надо ставить галочку "отключить визуальное оформление".
Отправлено XaeroX 19-10-2010 в 16:01:
Цитата:
adamix писал:
Плохой поддержкой стандарта.
Как это может сказаться на производительности?
К тому же хорошая привычка - сразу писать стандартный код.__________________
Отправлено adamix 19-10-2010 в 16:08:
Цитата:
XaeroX писал:
Как это может сказаться на производительности?
К тому же хорошая привычка - сразу писать стандартный код.
Плохая поддержка стандарта ? Никак. А вот древняя версия - вполне. В новых версиях обычно добавляют новые способы оптимизации.
Хорошая привычка - это когда вы пишите действительно стандартный код, и компилятор в случае чего укажет на ошибку. В VC6.0 такого нету.
Отправлено XaeroX 19-10-2010 в 16:31:
Цитата:
adamix писал:
В новых версиях обычно добавляют новые способы оптимизации.
Ну например, какие?
Я могу с таким же успехом сказать, что в новых версиях появляются новые баги.
Цитата:
adamix писал:
это когда вы пишите действительно стандартный код, и компилятор в случае чего укажет на ошибку
А зачем тебе стандартный код? Для портирования? Ну так гыцыца укажет, исправишь. А под виндой и нестандартный будет работать.__________________
Отправлено Дядя Миша 19-10-2010 в 16:40:
Цитата:
qpAHToMAS писал:
Попытка установки SP5 на MSVC 6.0 обрывается ошибкой.
мудак 2.5 входит в набор самого SP5.
Да тебе он и не нужен. Сервиспакпять - он только для компиляции хл2бета. А хлсдк соберется и на непропатченной версии.
Цитата:
adamix писал:
Хорошая привычка - это когда вы пишите действительно стандартный код, и компилятор в случае чего укажет на ошибку. В VC6.0 такого нету.
То-то ксаш и под вистой и под семеркой и под хп без проблем фурычит.
А если я его скомпилю какой-нибудь NET 2005 - зуб даю, что-нибудь изломается.
Добавлено 19-10-2010 в 20:40:
ЗЫ. Насчёт шквала говна - незнаю. Переползать на семерку в ближайшие семь лет не планирую.__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено thambs 19-10-2010 в 17:29:
а minigw пробовал?
Отправлено qpAHToMAS 19-10-2010 в 18:26:
Цитата:
thambs писал:
а minigw пробовал?
А сколько у него "C++ Compiler" весит? Он скачивает что надо во время установки, а у меня трафик лимитирован
.
И не знаю на сколько играет роль компиляции в компиляторе, который не использовался при создании Xash'а, но меня это грузит.
Отправлено Дядя Миша 20-10-2010 в 05:09:
Цитата:
qpAHToMAS писал:
И не знаю на сколько играет роль компиляции в компиляторе, который не использовался при создании Xash'а, но меня это грузит.
глупости всё это. Главное - следить за выравниванием. Пока структурки выровнены всё будет хорошо.__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено adamix 20-10-2010 в 05:30:
Цитата:
XaeroX писал:
А зачем тебе стандартный код? Для портирования? Ну так гыцыца укажет, исправишь. А под виндой и нестандартный будет работать.
С такой же уверенностью я могу и WINAPI юзать, а что? потом libwine прикручу...
ИМХО это неправильный подход, лучше всего писать кросс-платформенный код сразу, ну или хотяб код по стандарту.
Отправлено Дядя Миша 20-10-2010 в 05:33:
Цитата:
adamix писал:
лучше всего писать кросс-платформенный код сразу
Не подскажешь как воспроизведение AVI портировать под линукс?__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено XaeroX 20-10-2010 в 10:16:
Цитата:
adamix писал:
С такой же уверенностью я могу и WINAPI юзать, а что? потом libwine прикручу...
Нифига не с такой же уверенностью. Одно дело писать родной для ОС код, а другое - прикручивать левые глючные либы.
Цитата:
adamix писал:
лучше всего писать кросс-платформенный код сразу
Ну так пиши сразу. Версия студии-то тут причем? Так сложно запомнить несколько простых вещей, типа, требования указывать имя класса при взятии адреса функции-члена, или что нельзя кастить разыменованный итератор к значению?__________________
Отправлено adamix 20-10-2010 в 10:20:
Цитата:
Дядя Миша писал:
Не подскажешь как воспроизведение AVI портировать под линукс?
libphonon(кросс-платформенно)
Цитата:
XaeroX писал:
Ну так пиши сразу. Версия студии-то тут причем? Так сложно запомнить несколько простых вещей, типа, требования указывать имя класса при взятии адреса функции-члена, или что нельзя кастить разыменованный итератор к значению?
Дык неудобно и я всегда могу ошибиться. Намного удобнее когда студия сама может подсказать.
Отправлено XaeroX 20-10-2010 в 11:07:
adamix
Ну вот видишь, мы перешли к вопросу личных удобств 
А мне кажется неудобной ИДЕ 2005 студии по сравнению с 6.0. Это тоже одна из причин, по которой я остаюсь на компиляторе 10-летней давности.
__________________
Отправлено Дядя Миша 20-10-2010 в 13:37:
Цитата:
adamix писал:
libphonon(кросс-платформенно)
я извиняюсь, он весит как пол-ксаша 
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено FiEctro 20-10-2010 в 13:41:
qpAHToMAS
У жеки шестую студию спроси, у него она идет на висте уж точно. На семерке тоже должна.
Отправлено adamix 20-10-2010 в 15:22:
Цитата:
Дядя Миша писал:
я извиняюсь, он весит как пол-ксаша
Вы считаете что это так плохо для полнофункциональной медиа-либы ?
Я считаю что нет. Использую сие творение в нескольких проектах, в двух из них - вместе с Qt. Никаких нареканий
Отправлено FiEctro 20-10-2010 в 15:33:
adamix
И много они весят?
Отправлено adamix 20-10-2010 в 15:45:
Цитата:
FiEctro писал:
И много они весят?
~5-7мб в виде скомпиленного бинарника(не считая доп. зависимостей в виде отдельных дллок, при том что libphonon скомпилено статически).
Отправлено Дядя Миша 20-10-2010 в 16:13:
Цитата:
adamix писал:
Вы считаете что это так плохо для полнофункциональной медиа-либы ?
я считаю, что для моих задач - это охренеть как много.
Для проигрывания двух роликов в заставке и одного в меню.__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено adamix 20-10-2010 в 16:50:
Тогда можно прикрутить какой нить xine или avifile.
Отправлено XaeroX 20-10-2010 в 16:52:
Цитата:
adamix писал:
5-7мб в виде скомпиленного бинарника
Сколько-сколько??? Ме-га-байт?
Раньше столько весила полноценная игрушка со всеми ресурсами
А мы ее ругали, за то что она на дискету не влазит.
Или ави у нас настолько эволюционировал за последние полтора десятка лет? 
__________________
Отправлено Дядя Миша 20-10-2010 в 17:00:
XaeroX об чём ты говоришь? Вон человек Qt юзает, а он десятки метров весит, нормально чё )
Из всего функционала Qt заюзать 0.001% и радоваться как всё удобно и круто.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено adamix 21-10-2010 в 18:01:
Цитата:
XaeroX писал:
Или ави у нас настолько эволюционировал за последние полтора десятка лет?
Начнем с того что там не только avi... :-p
Это лишь один из примеров, где мне удобно юзать - я юзаю его, а задачи аля "найти что-то очень маленькое для маленького проекта" бывают редко.
Цитата:
Дядя Миша писал:
Вон человек Qt юзает, а он десятки метров весит, нормально чё )
Из всего функционала Qt заюзать 0.001% и радоваться как всё удобно и круто.
Qt - удобный фреймворк, это аля VCL для делфи. На нем приятно и удобно кодить, особенно когда его используешь не на 0.001%, а полностью.
Отправлено FiEctro 21-10-2010 в 18:27:
XaeroX
Ну если статически линковать всякие kernel32 из винды, тоже вообщем то весить не мало будет.
Отправлено Government-Man 21-10-2010 в 18:43:
FiEctro ты умеешь статически линковать кернел? 
Отправлено XaeroX 21-10-2010 в 19:03:
Цитата:
FiEctro писал:
статически линковать всякие kernel32

__________________
Отправлено Дядя Миша 21-10-2010 в 19:06:
Цитата:
adamix писал:
особенно когда его используешь не на 0.001%, а полностью.
Особенно, когда думаешь, что используешь его польностью 
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено FiEctro 21-10-2010 в 19:11:
XaeroX
Да ты что, меня линуксоиды (слукс и adamix) так уверяли, что в винде также куча либ вешается
.
Отправлено XaeroX 21-10-2010 в 19:19:
FiEctro они, наверное, говорили про CRT, а не кернел 
__________________
Отправлено adamix 22-10-2010 в 06:31:
Цитата:
Дядя Миша писал:
Особенно, когда думаешь, что используешь его польностью
Ну использовать все библиотеки Qt в одной программе - наверное трудно :-p
Я говорю про QtCore.