Одна утилита, которую я нашел довольно бесценной для компиляции материала с помощью msvc из среды cygwin, — это оболочка, которую я нашел в Coin 3D. исходный репозиторий библиотеки под названием "wrapmsvc", чей бинарный файл можно найти здесь.
Программа упаковывает cl.exe и преобразует любые аргументы GCC, указанные в соответствующий аргумент cl.exe. Он также использует API cygwin для правильного преобразования пути к файлу из формы 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);
to
(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);
to
(void)cygwin_conv_path(CCP_POSIX_TO_WIN_A, (const void *)s.c_str(), (void *)buf, (size_t)MAX_PATH);
person
Charles Grunwald
schedule
10.01.2012