|
Прочие вопросы Вопросы не касающиеся программирования (установка, настройка...) |
20.08.2013, 13:44
|
#1
|
Нуждающийся
Регистрация: 24.04.2012
Сообщений: 57
Написано 7 полезных сообщений (для 10 пользователей)
|
Компиляция из Sublime text
Как компилировать код паскаля в Sublime Text3?
для привлечения внимания
Последний раз редактировалось Yadro, 21.08.2013 в 23:09.
|
(Offline)
|
|
20.08.2013, 21:48
|
#2
|
Модератор
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений (для 817 пользователей)
|
Ответ: Компиляция из Sublime text
Если речь идет об MP 2.0.2, то не получится, там нет консольного компилятора. В версиях 3.x он вроде бы есть, точную командную строку не скажу, надо смотреть документацию.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
20.08.2013, 22:12
|
#3
|
Нуждающийся
Регистрация: 24.04.2012
Сообщений: 57
Написано 7 полезных сообщений (для 10 пользователей)
|
Ответ: Компиляция из Sublime text
Эх, переходить на 3, что ли.
уж больно много камней на 3-ке, что спокойно компилиться на 2 версии, не факт, что заработает на 3-ей
|
(Offline)
|
|
21.08.2013, 02:49
|
#4
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: Компиляция из Sublime text
Если нету никакого скрипта или возможности как-то запустить exe'шник с параметрами, то не выйдет. Нужен какой-либо способ компиляции из командной строки, пусть даже запуск самого паскаля с дополнительными параметрами (но это будет медленно).
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
21.08.2013, 23:05
|
#5
|
Нуждающийся
Регистрация: 24.04.2012
Сообщений: 57
Написано 7 полезных сообщений (для 10 пользователей)
|
Ответ: Компиляция из Sublime text
Файл с названием «fpc.sublime-build», это и есть отчасти конфигурации для будущего вашего встроенного компилятора.
{ "cmd": ["fpc", "${file}", "${file_path}/${file_base_name}"], "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$", "working_dir": "${file_path}", "selector": "source.pascal", "shell": true, "path": "C:\\Program Files (x86)\\free pascal\\bin\\i386-win32\\" }
Первая — это та, где настраивается пункт «cmd», то есть, та команда, которая будет передана консоли.
«fpc» -название файла-компилятора, к которому будет обращаться редактор (не понятно где .exe, хотя больше похоже на название системы сборки)
«file»-передает полный путь до сохраняемого вами файла
«file_path» и «file_base_name» вместе передают путь + название будущего exe-файла. Тем самым, вместо стандартного «a.exe» вы получаете исполняемый файл, названный так же, как и файл исходного кода.
Вторая — эта та, где настраивается «working_dir».
«file_path», то есть, после запуска программы, текущей директорией будет считаться та, в которой лежит файл. Потому, если вдруг вы захотите открыть какой-то файл, находясь на вкладке с открытым файлом, лежащем в корне локального диска «C», то в меню выбора файла откроется именно этот локальный диск.
Третья (и самая главная) — это та, где настраивается «path».
Здесь вам нужно указать путь до директории с файлом-компилятором (который будет называться так, как указано в первой выделенной мной строчке). Обратите внимание, как именно оформляется путь при настройке этой переменной. Каталоги разделяются двумя обратными косыми чертами.
|
копипаст из "ПИШЕМ НА PASCAL В SUBLIME TEXT 2"
плюс командная строка от MP, спасибо GaisinPro)
А вот как теперь связать это с консолью...
Последний раз редактировалось Yadro, 21.08.2013 в 23:16.
Причина: обновил
|
(Offline)
|
|
21.08.2013, 23:22
|
#6
|
Модератор
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений (для 817 пользователей)
|
Ответ: Компиляция из Sublime text
Сообщение от Yadro
А вот как теперь связать это с консолью...
|
Это для FreePascal, с данным случаем не имеет ничего общего.
В поставке MP3.5 есть утилита MP3CC.exe, это и есть консольный компилятор. При запуске из командной строки выдает синтаксис команды:
-------------------------------------------------------------------------
MIDletPascal 3.5 Compiler
Version: MPC.3.5.IDE
Authors: Niksa Orlic (1.x-2.0), Artem (3.0), Javier Santo Domingo (3.x)
-------------------------------------------------------------------------
usage: mp3cc
-s"<source_filename>"
-o"<output_path>"
-l"<global_library_path>"
-p"<project_library_path>"
-m<math_type>
-c<canvas_type>
-r<next_record_ID>
[-d] // detect units only
[-n]<parent_notify_handle> // outputs using WMCOPYDATA
Остается немного порыться в документации и найти описание параметров -m -c -r.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
21.08.2013, 23:25
|
#7
|
Нуждающийся
Регистрация: 24.04.2012
Сообщений: 57
Написано 7 полезных сообщений (для 10 пользователей)
|
Ответ: Компиляция из Sublime text
Сообщение от ViNT
Остается немного порыться в документации и найти описание параметров -m -c -r.
|
А где ее, собственно, найти?) Хотя с моими знаниями в это дело лучше не соваться
|
(Offline)
|
|
21.08.2013, 23:31
|
#8
|
Модератор
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений (для 817 пользователей)
|
Ответ: Компиляция из Sublime text
Сообщение от Yadro
А где ее, собственно, найти?) Хотя с моими знаниями в это дело лучше не соваться
|
Сложно сказать, я тоже не нашел сходу. Можно попробовать их вообще не указывать, скорее всего, проставит по умолчанию.
|
(Offline)
|
|
21.08.2013, 23:36
|
#9
|
Нуждающийся
Регистрация: 24.04.2012
Сообщений: 57
Написано 7 полезных сообщений (для 10 пользователей)
|
Ответ: Компиляция из Sublime text
А как хотя бы должна выглядеть строка с работой в cmd, с ней дело никогда не имел)
"path": "C:\\Program Files (x86)\\free pascal\\bin\\i386-win32\\mp3cc.exe -s"<блабла>" что то вроде этого?
|
(Offline)
|
|
22.08.2013, 04:13
|
#10
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: Компиляция из Sublime text
Сперва попробуй это дело из CMD запустить, если удастся скомпилить так, тогда уже берись за build для sublime.
Не забудь что все разделённые пробелами аргументы в sublime-build системе должны быть разбиты в массив.
То есть если тебе нужно:
mp3cc.exe -s yourFile
То это будет:
"cmd": ["mp3cc.exe", "-s", "$file"]
В итоге может быть что-то типо:
{ "cmd": ["mp3cc", "-s", "$file"], "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)", "selector": "source.pas", "shell": true, "encoding": "utf-8" }
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
22.08.2013, 11:40
|
#11
|
Нуждающийся
Регистрация: 24.04.2012
Сообщений: 57
Написано 7 полезных сообщений (для 10 пользователей)
|
Ответ: Компиляция из Sublime text
Ввел вот такую строчку в cmd
C:\Users\Администратор>"C:\Program Files\MIDletPascal 3.5 FINAL\mp3cc.exe" -s"C:\Program Files
lemaneger\filemanager.pas" -l"C:\Program Files\MIDletPascal 3.5 FINAL\Libs" -p"C:\Program File
rojects\filemanager\libs" -o"C:\Program Files\MIDletPascal 3.5 FINAL\projects\filemanager\bin"
В итоге создал только M.class
|
(Offline)
|
|
22.08.2013, 12:17
|
#12
|
Модератор
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений (для 817 пользователей)
|
Ответ: Компиляция из Sublime text
Если в программе не было записей, других модулей и т.д., то все верно - исходник главного модуля и должен компилиться в M.class. Другой вопрос, что MP3CC это только компилятор, собирать jar он не умеет. Чтобы получить рабочее приложение, нужно добавить к M.class другие классы (как минимум FW.class, другие в зависимости от использования тех или иных функций), добавить MANIFEST.MF, библиотеки, запаковать все это в JAR и сгенерить для него JAD. Компилятор это делать не умеет (там правда есть еще пара exe-шников, может среди них есть компоновщик, но что-то сомневаюсь, а MP под рукой нет).
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
22.08.2013, 12:23
|
#13
|
Нуждающийся
Регистрация: 24.04.2012
Сообщений: 57
Написано 7 полезных сообщений (для 10 пользователей)
|
Ответ: Компиляция из Sublime text
Сообщение от ViNT
Если в программе не было записей, других модулей и т.д., то все верно - исходник главного модуля и должен компилиться в M.class. Другой вопрос, что MP3CC это только компилятор, собирать jar он не умеет. Чтобы получить рабочее приложение, нужно добавить к M.class другие классы (как минимум FW.class, другие в зависимости от использования тех или иных функций), добавить MANIFEST.MF, библиотеки, запаковать все это в JAR и сгенерить для него JAD. Компилятор это делать не умеет (там правда есть еще пара exe-шников, может среди них есть компоновщик, но что-то сомневаюсь, а MP под рукой нет).
|
А я то уж думал что он мне уже jar соберёт Ну раз все остальное ручками делать надо, то я и обычным копипастом из sublime в MP управлюсь
Всем спасибо
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 15:39.
|