Для инсталляции M++ необходимо знать, как запускать компилятор командной строки. Иметь представление о том, что такое переменные среды вообще (переменная PATH, в частности) и умееть ими манипулировать.
Примечание. Для платформы Win32 распространяется уже скомпилированая версия M++. Поэтому для платформы Win32 нет необходимости заниматься компиляцией M++ - можно загрузить архив с уже скомпилированной версией и сразу перейти к ее настройке (см. 2.2).
Существует два способа компиляции M++:
Так для создания M++ компилятором Visual C++ v.6 на платформе Win32 можно воспользоваться следующей командной строкой:
cl -GX -Ih -I. -O2 -D__WIN32__ -Femxxс.exe *.cpp mxxapi\*.cpp win32\*.cpp
То же самое для компилятора Borland C++ v.5.5.1:
bcc32 -Ih -I. -w-aus -w-par -O2 -emxxc.exe *.cpp mxxapi\*.cpp win32\*.cpp
То же самое для компилятора Watcom C++ v.11:
wcl386 /xs /ox /bt=nt /i=h /i=. /fe=mxxc.exe /d__WIN32__ *.cpp mxxapi\*.cpp win32\*.cpp
Для создания M++ компилятором GNU C++ на платформе Linux можно воспользоваться следующей командной строкой:
g++ -I h -I . -O2 -o mxxc *.cpp mxxapi/*.cpp posix/*.cpp
Для настройки скомпилированной версии M++ v.4.0 необходимо:
Если вы загрузили уже скомпилированную версию, то необходимо:
Если вы загрузили исходные тексты M++ v.4 и скомпилировали mxxc, то у вас уже есть каталог с M++, в котором находится подкаталог lib.
MXX4=-i c:\bin\mxx-4\libИли для Linux:
MXX4=-i ~/mxx-4/lib
Теперь, если ввести в командной строке mxxc -h, то M++ должен выдать краткую справку о своих параметрах. Например:
M++ $Revision:4.0.14$ by Yauheni A.Akhotnikau [$Date:Sat Nov 17 16:52:34 2001$] mxxc [options] [-f <file.4xx>] [options] [@<response file>] where 'options' are: -c compile only -d <id>[=[<value>]] define preprocessor symbol -u <id> undefine preprocessor symbol -i <path> define standard include path -api only show M++ API to the standard output -pre only preprocess file and dump result to the standard output -? -h -help --help show this screen Examples: mxxc -f myfile.4xx mxxc -api mxxc -d WIN98=no -i /usr/lib/mxx -i /usr/lib/mxx/lib/cpp -f myfile.4xx Environment variable MXX4 may contains only options -d, -u and -i Options -u processed before options -d If -f is not specified and 'default.4xx' in current dir exists then 'default.4xx' will be used as input file
Если у меня на компьютере установлено сразу несколько компиляторов и позволяет операционная система, то я не настраиваю M++ в глобальном окружении. Вместо этого я создаю командные файлы, в которых осуществляю настройку M++ на конкретный компилятор. При этом в переменной среды MXX4 посредством ключа -d сразу указываю тип компилятора.
Кроме того, я создаю у себя специальный каталог, в который помещаю исполнимые модули используемых мной утилит. И имя этого каталога помещаю в переменную среды PATH.
WinNT (Win2000)
Для операционных систем семейства NT я создаю командные файлы, в которых: 1) настраиваю M++ и 2) запускаю файловый менеджер Far. Затем на десктопе создаю ярлыки, указывающие на эти файлы. И все. При активизации соответствующего ярлыка запускается командный процессор, в котором настроен M++ (вместе с компилятором) и работает Far.
Так у меня выглядит командный файл для настройки M++ и компилятора Visual C++:
@echo off set path=%path%;e:\home\eao\bin set MXX4=-i e:\home\eao\prj\mxx-4\lib -d MSC call "f:\program files\microsoft visual studio\vc98\bin\vcvars32.bat" "c:\program files\far\far.exe"
Так у меня выглядит командный файл для настройки M++ и компилятора Borland C++:
@echo off set path=%path%;e:\home\eao\bin;e:\home\eao\bin\bc\bin set MXX4=-i e:\home\eao\prj\mxx-4\lib -d BORLAND "c:\program files\far\far.exe"
Так у меня выглядит командный файл для настройки M++ и компилятора WATCOM C++:
@echo off set path=%path%;e:\home\eao\bin;e:\home\eao\bin\wat\BINNT;e:\home\eao\bin\wat\BINW; set INCLUDE=e:\home\eao\bin\wat\H;e:\home\eao\bin\wat\H\NT set WATCOM=e:\home\eao\bin\wat set EDPATH=e:\home\eao\bin\wat\EDDAT set WWINHELP=E:\SOFTWARE\watcom-11\BINW set MXX4=-i e:\home\eao\prj\mxx-4\lib -d WATCOM "c:\program files\far\far.exe"
Так у меня выглядел командный файл для настройки M++ и компилятора Intel C++ (до тех пор пока не истек ознакомительный период):
@echo off set path=%path%;e:\home\eao\bin set MXX4=-i e:\home\eao\prj\mxx-4\lib -d ICC call "f:\program files\microsoft visual studio\vc98\bin\vcvars32.bat" call "e:\home\eao\bin\intel\compiler45\bin\iccvars.bat" "c:\program files\far\far.exe"
Win98
Win98 не является системой, для которой M++ разрабатывался. Но поскольку она есть и я ей время от времени пользуюсь, то я настроил M++ непосредственно в autoexec.bat.
Linux
Под Linux (RedHat Linux v.7.0) я настаиваю M++ в глобальном окружении, т.к. пользуюсь только компилятором GNU C++. Для этого используется файл .bash_profile следующего вида:
# .bash_profile # Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi # User specific environment and startup programs PATH=$PATH:$HOME/bin BASH_ENV=$HOME/.bashrc MXX4="-i $HOME/prj/mxx-4/lib -d GNU" export BASH_ENV PATH export MXX4