Как скомпилировать с GnuCOBOL - PullRequest
0 голосов
/ 19 мая 2019

Я пытаюсь добавить задачу для компиляции программы, но у меня возникают проблемы с настройкой переменных среды.У меня есть это:

{
  // See https://go.microsoft.com/fwlink LinkId=733558
  // for the documentation about the tasks.json format
  "version": "2.0.0",
   "label": "GnuCOBOL - Compile (single file)",
   "type": "shell",
   "options": {
    "env": {
        "PATH=c:\\gnucobol3\\bin"
        "COB_CONFIG_DIR=c:\\gnucobol3\\config"
        "COB_COPY_DIR=c:\\gnucobol3\\copy"
        "COB_INCLUDE_PATH=c:\\gnucobol3\\include"
        "COB_LIB_PATH=c:\\gnucobol3\\lib"
       },
    "command": "cobc",
    "args": [
      "-x",
      "-std=mf",
      "-tPROG.LST",
      "BBCB.CBL"
      ]
    },
} 

Все записи env имеют волнистые линии внизу и показывают ошибки "Ожидается двоеточие".

Буду признателен за некоторую помощь.Спасибо.

Ответы [ 2 ]

1 голос
/ 19 мая 2019

Пути к файлам для ОС на базе Windows (c:\ ...).Если вы используете Linux, это неверно.

Этот формат - JSON.

"env": { ... } принимает пары ключ: значение (определяется фигурными скобками), поэтому вам может потребоваться:

"PATH": "c:\\gnucobol3\\bin",

Двоеточие (:) разделяет ключ и значение, а запятая (,) разделяет пары ключ: значение.

Не уверены, что вам нужно экранировать пути к файлам \\ или просто \.

NB "args": [ ... ] принимает массив строковых значений (определяемых квадратными скобками), поэтому он отличается от "env"

0 голосов
/ 19 мая 2019

Все записи env имеют волнистые линии внизу и показывают ошибки "Ожидается двоеточие".

Поскольку он ожидает содержащийся список, в котором должны быть двоеточия, и использует запятые для разделения (идентичнопеременная options) [примечание: на самом деле это проблема json, использование этого тега может быть целесообразным].См. Схема для tasks.json .

Кроме того, в вашем скрипте есть некоторые имена файлов, жестко привязанные (что зависит от vscode), вы, вероятно, захотите использовать поддерживаемые переменные вместо.

Непроверенный результат:

{
  // See https://go.microsoft.com/fwlink LinkId=733558
  // for the documentation about the tasks.json format
  "version": "2.0.0",
   "label": "GnuCOBOL - Compile (single file)",
   "type": "shell",
   "options": {
    "env": {
        "PATH": "c:\\gnucobol3\\bin",
        "COB_CONFIG_DIR": "c:\\gnucobol3\\config",
        "COB_COPY_DIR": "c:\\gnucobol3\\copy",
        "COB_INCLUDE_PATH": "c:\\gnucobol3\\include",
        "COB_LIB_PATH": "c:\\gnucobol3\\lib",
       },
    "command": "cobc",
    "args": [
      "-x",
      "-std=mf",
      "-t${fileBasenameNoExtension}.LST",
      "${file}"
      ]
    },
} 
...