Используя Cygwin для Компиляции программы C; ошибка Выполнения

Мне нравится ответ @ Vaviloff , но вы будете регистрировать весь объект ConsoleMessage, когда вам может понадобиться только текст. Таким образом, я лично использую следующее:

const EOL = require('os').EOL;
const _page = await browser.newPage();

_page.on('console', _fCleanLog);

function _fCleanLog(ConsoleMessage) {
    console.log(ConsoleMessage.text + EOL);
}

15
задан Sinan Ünür 2 May 2017 в 19:31
поделиться

11 ответов

, когда вы запускаете cygwin, вы находитесь в своем $ HOME, как и в unix в целом, который по умолчанию отображается на c: / cygwin / home / $ YOURNAME. Так что вы можете поместить туда все.

Вы также можете получить доступ к диску c: из cygwin через / cygdrive / c / (например, / cygdrive / c / Documents anb Settings / yourname / Desktop).

14
ответ дан 1 December 2019 в 01:05
поделиться

Относительно вашего обновленного вопроса о отсутствует cygwin1.dll .

Из проверки терминала Cygwin,

ls /usr/bin/cygwin1.dll

Если его нет (я сомневаюсь в этом), ваша установка не выполнена должным образом.

Затем проверьте свой путь с помощью,

echo $PATH

Это даст список путей, разделенных : . Он ДОЛЖЕН содержать / usr / bin . Если вы обнаружите, что отсутствует, добавьте его с помощью,

export PATH=/usr/bin:$PATH

Наконец,

  • Я надеюсь, что вы используете Cygwin из терминала cygwin (маленький зеленый + черный значок, установленный вместе с Cygwin) или MinTTY (если вы его установили).
  • И вы не переместили скомпилированный EXE-файл на другой компьютер, на котором не установлен Cygwin (если вы это сделаете, вам нужно будет перенести cygwin1.dll на этот компьютер - храните его в той же папке, что и скомпилированный EXE).
9
ответ дан 1 December 2019 в 01:05
поделиться

Найдите (то есть cd to)

/cygdrive/c/

, который обычно будет вашим C: \


. Также посмотрите Использование Cygwin , введение Lifehacker (июнь / 2006) и эта биомная страница в PhysioNet .

4
ответ дан 1 December 2019 в 01:05
поделиться

Что касается ошибки cygwin1.dll not found, решение, которое я использовал в течение как минимум 8 лет, - это добавить каталоги bin Cygwin в конец моего % PATH% в «Мой компьютер» -> «Свойства» -> «Дополнительно» -> «Переменные среды». Я добавляю их в конец пути, поэтому в моей обычной работе они ищутся в последнюю очередь, что сводит к минимуму возможность конфликтов (фактически, у меня не было проблем с конфликтами все это время).

Когда вы вызываете Cygwin Bash Shell, эти каталоги добавляются к % PATH% , поэтому в этой среде все работает так, как задумано.

Когда я не запущен в оболочке Cygwin, мой % PATH% будет :

Path=c:\opt\perl\bin; \
     ...
     C:\opt\cygwin\bin; \
     C:\opt\cygwin\usr\bin; \
     C:\opt\cygwin\usr\local\bin;

Таким образом, например, Perl ActiveState будет обнаружен первым, когда я не в Cygwin Shell,

4
ответ дан 1 December 2019 в 01:05
поделиться

Чтобы подвести итог, вот несколько команд, которые переходят в каталог и компилируют код с использованием Cygwin и Windows Vista:

  1. Запуск оболочки Cygwin.
  2. В командной строке введите ] cd для перехода в соответствующий каталог:

    $ cd / cygdrive / c / Users / nate / Desktop

  3. Используйте ls , чтобы просмотреть файлы в каталоге:

    $ ls

    prog.c

  4. Используйте команду gcc для компиляции файла в этом каталоге:

    $ gcc prog.c -o prog

  5. Если вы не видите ошибок , вы должны иметь возможность запустить получившуюся программу:

    $ ./prog[1274 sizesUpdate:[1275 sizes) Для ошибки « Cygwin1.dll not found » мне нравится ответ Ника. Вы также можете прочитать этот связанный пост о cygwin1.dll not found , в котором предлагается добавить c: \ cygwin \ bin \ в ПУТЬ Windows.

    Есть инструкции по изменению переменной Windows PATH для Windows XP и Vista, я думаю, это похоже.

    1. Перейдите в Панель управления -> Система
    2. Выберите Дополнительно Системные настройки
    3. Щелкните вкладку Дополнительно
    4. Щелкните Переменные среды
    5. В разделе Системные переменные найдите запись Путь и нажмите Изменить
    6. Добавьте c: \ cygwin \ bin в список, не забудьте отделить его от всех предыдущих элементов точкой с запятой
4
ответ дан 1 December 2019 в 01:05
поделиться

Да, вроде того.

Возможные причины:

  1. Вид необходимо обновить или перекомпилировать. Случается, когда определения исходных столбцов меняются и в представлении (или чем-то еще, от чего зависит) используется "*", может быть неприятно. Вызовите процедуру sp_RefreshView. Также может произойти из-за вызываемых им представлений или функций (источников данных).

  2. Представление смотрит на что-то отличное от того, что они / вы думаете. Они смотрят не на ту таблицу или представление.

  3. Представление неожиданным образом преобразует данные. Это работает правильно, совсем не так, как они ожидали.

  4. Представление возвращает подмножество данных, отличное от ожидаемого. Опять же, это работает правильно, совсем не так, как они думают.

  5. Они смотрят не на ту базу данных или с идентификатором входа / пользователя, который заставляет View изменять то, что он показывает. 1) Откройте командную (DOS) оболочку 2) Измените каталог на местоположение вашего кода (c :, затем cd path \ to \ file) 3) gcc myProgram.c -o myProgram

    Как упоминалось в ответе nik, документация «Использование Cygwin» - отличное место, чтобы узнать больше.

2
ответ дан 1 December 2019 в 01:05
поделиться

Путь Windows C: \ src в cygwin становится / cygdrive / c / src

1
ответ дан 1 December 2019 в 01:05
поделиться

Cygwin очень крут! Вы можете компилировать программы из других систем (например, Linux), , и они будут работать . Я говорю о коммуникационных программах или даже о веб-серверах.

Вот одна уловка. Если вы просматриваете свой файл в проводнике Windows, вы можете ввести «cd» в окнах bash, затем перетащить его из адресной строки проводника в окно cygwin, и полный путь будет скопирован! Кстати, это работает и в командной оболочке Windows.

Также: Хотя "cd / cygdrive / c" является формальным путем, он также принимает "cd c:" как ярлык. Возможно, вам придется сделать это перед перетаскиванием оставшейся части пути.

Файл stdio.h должен быть найден автоматически, как и в обычной системе.

0
ответ дан 1 December 2019 в 01:05
поделиться

Компиляция вашего C программа с использованием Cygwin

Мы будем использовать компилятор gcc на Cygwin для компиляции программ.

1) Запустите Cygwin

2) Перейдите в каталог, который вы создали для этого класса, набрав

cd c: / windows / desktop

3) Скомпилируйте программу, набрав

gcc myProgram.c -o myProgram

команда gcc вызывает компилятор gcc для компиляции вашей программы C.

0
ответ дан 1 December 2019 в 01:05
поделиться

Возможно, вам лучше отредактировать файл внутри оболочки cygwin. Обычно при запуске он имеет каталог пользователя по умолчанию. Вы можете редактировать файл из оболочки, выполнив что-то вроде "vi somefile.c" или "emacs somefile.c". Предполагается, что vi или emacs установлены в cygwin.

Если вы хотите сохранить файл на рабочем столе, вам нужно будет перейти по пути, аналогичному (в XP) "/ cygwindrive / c / Documents \ и \ Settings / Frank / Desktop »(если не изменяет память). Просто перейдите по этому пути и выполните команду для файла.

0
ответ дан 1 December 2019 в 01:05
поделиться

Если вы просто выполните gcc program.c -o program -mno-cygwin, он скомпилируется нормально, и вам не нужно будет добавлять cygwin1.dll в свой путь, и вы можете просто продолжить и распространите исполняемый файл на компьютер, на котором не установлен cygwin, и он все равно будет работать. Надеюсь, это поможет

1
ответ дан 1 December 2019 в 01:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: