Одна утилита, которую я нашел довольно неоценимой для компиляции с помощью msvc из среды cygwin, - это обертка, которую я нашел в исходном хранилище библиотеки Coin 3D под названием "wrapmsvc", бинарный файл которого можно найти здесь .
Программа упаковывает файл cl.exe и преобразует все указанные аргументы GCC в соответствующий аргумент cl.exe. Он также использует cygwin API для правильного перевода пути к файлу из формы cygwin (/cygdrive/c/temp/test.c) в его фактический путь к файлу (C: \ temp \ test.c).
Источник потратил немного времени, чтобы найти в прошлый раз, но он называется "wrapmsvc.cpp", поэтому, если вам нужно его скомпилировать, поищите этот файл. Если вам случится скомпилировать его и вы получили некоторые предупреждения / ошибки об устаревании об использовании cygwin_conv_to_posix_path или cygwin_conv_to_win32_path, внесите следующие изменения:
Изменить строку:
(void)cygwin_conv_to_posix_path(s.c_str(), buf);
до
(void)cygwin_conv_path(CCP_WIN_A_TO_POSIX, (const void *)s.c_str(), (void *)buf, (size_t)MAX_PATH);
и изменить:
(void)cygwin_conv_to_win32_path(s.c_str(), buf);
до
(void)cygwin_conv_path(CCP_POSIX_TO_WIN_A, (const void *)s.c_str(), (void *)buf, (size_t)MAX_PATH);