HLFX.Ru Forum
Показать все 42 сообщений этой темы на одной странице

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

То есть как это - отказывается?

__________________

xaerox on Vivino


Отправлено 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 у меня тоже имеется, но "для мебели".

__________________

xaerox on Vivino


Отправлено 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 писал:
Плохой поддержкой стандарта.

Как это может сказаться на производительности?
К тому же хорошая привычка - сразу писать стандартный код.

__________________

xaerox on Vivino


Отправлено adamix 19-10-2010 в 16:08:

Цитата:
XaeroX писал:
Как это может сказаться на производительности?
К тому же хорошая привычка - сразу писать стандартный код.


Плохая поддержка стандарта ? Никак. А вот древняя версия - вполне. В новых версиях обычно добавляют новые способы оптимизации.

Хорошая привычка - это когда вы пишите действительно стандартный код, и компилятор в случае чего укажет на ошибку. В VC6.0 такого нету.


Отправлено XaeroX 19-10-2010 в 16:31:

Цитата:
adamix писал:
В новых версиях обычно добавляют новые способы оптимизации.

Ну например, какие?
Я могу с таким же успехом сказать, что в новых версиях появляются новые баги.
Цитата:
adamix писал:
это когда вы пишите действительно стандартный код, и компилятор в случае чего укажет на ошибку

А зачем тебе стандартный код? Для портирования? Ну так гыцыца укажет, исправишь. А под виндой и нестандартный будет работать.

__________________

xaerox on Vivino


Отправлено Дядя Миша 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 писал:
лучше всего писать кросс-платформенный код сразу

Ну так пиши сразу. Версия студии-то тут причем? Так сложно запомнить несколько простых вещей, типа, требования указывать имя класса при взятии адреса функции-члена, или что нельзя кастить разыменованный итератор к значению?

__________________

xaerox on Vivino


Отправлено adamix 20-10-2010 в 10:20:

Цитата:
Дядя Миша писал:
Не подскажешь как воспроизведение AVI портировать под линукс?


libphonon(кросс-платформенно)

Цитата:
XaeroX писал:
Ну так пиши сразу. Версия студии-то тут причем? Так сложно запомнить несколько простых вещей, типа, требования указывать имя класса при взятии адреса функции-члена, или что нельзя кастить разыменованный итератор к значению?


Дык неудобно и я всегда могу ошибиться. Намного удобнее когда студия сама может подсказать.


Отправлено XaeroX 20-10-2010 в 11:07:

adamix
Ну вот видишь, мы перешли к вопросу личных удобств
А мне кажется неудобной ИДЕ 2005 студии по сравнению с 6.0. Это тоже одна из причин, по которой я остаюсь на компиляторе 10-летней давности.

__________________

xaerox on Vivino


Отправлено Дядя Миша 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мб в виде скомпиленного бинарника

Сколько-сколько??? Ме-га-байт?
Раньше столько весила полноценная игрушка со всеми ресурсами А мы ее ругали, за то что она на дискету не влазит.
Или ави у нас настолько эволюционировал за последние полтора десятка лет?

__________________

xaerox on Vivino


Отправлено Дядя Миша 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

__________________

xaerox on Vivino


Отправлено Дядя Миша 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, а не кернел

__________________

xaerox on Vivino


Отправлено adamix 22-10-2010 в 06:31:

Цитата:
Дядя Миша писал:
Особенно, когда думаешь, что используешь его польностью


Ну использовать все библиотеки Qt в одной программе - наверное трудно :-p
Я говорю про QtCore.


Временная зона GMT. Текущее время 18:03.
Показать все 42 сообщений этой темы на одной странице

На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024