Подскажите, почему не собирается ffmpeg под Visual Studio 2026 ?
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
| ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
| [216.73.216.175] |
|
|
Правила раздела *nix / gcc / Eclipse / Qt / wxWidgets / GTK+
Подскажите, почему не собирается ffmpeg под Visual Studio 2026 ?
|
Сообщ.
#1
,
|
|
|
|
Добрый вечер!
Попробовал собрать ffmpeg под Windows 10 и Visual Studio 2026. Для этого установил MSYS2. Запускаю configure в MSYS2 так: .\configure --toolchain=msvc В результате получаю запись в логе (config.log): ![]() ![]() #line 2 "./ffconf.T5fox9W5/test.c" #line 5 "./ffconf.T5fox9W5/test.c" check_host_cflags -options:strict test_host_cc -options:strict BEGIN ./ffconf.T5fox9W5/test.c 1 int x; END ./ffconf.T5fox9W5/test.c cl.exe -options:strict -c -o ./ffconf.T5fox9W5/test.o ./ffconf.T5fox9W5/test.c Оптимизирующий компилятор Microsoft (R) C/C++ версии 19.50.35721 для x64 (C) Корпорация Майкрософт (Microsoft Corporation). Все права защищены. cl: командная строка warning D9035: использование параметра "o" нежелательно, он будет удален в следующих выпусках test.c test_ld cc test_cc BEGIN ./ffconf.T5fox9W5/test.c 1 int main(void){ return 0; } END ./ffconf.T5fox9W5/test.c cl.exe -options:strict -c -o ./ffconf.T5fox9W5/test.o ./ffconf.T5fox9W5/test.c Оптимизирующий компилятор Microsoft (R) C/C++ версии 19.50.35721 для x64 (C) Корпорация Майкрософт (Microsoft Corporation). Все права защищены. cl: командная строка warning D9035: использование параметра "o" нежелательно, он будет удален в следующих выпусках test.c ./compat/windows/mslink -nologo -out:./ffconf.T5fox9W5/test.exe ./ffconf.T5fox9W5/test.o .\ffconf.T5fox9W5\test.o : fatal error LNK1136: недопустимый или поврежденный файл C compiler test failed. Также на экран в MSYS2 выводится: ![]() ![]() cl.exe is unable to create an executable file. If cl.exe is a cross-compiler, use the --enable-cross-compile option. Only do this if you know what cross compiling means. C compiler test failed." Как видно из лога, MSVC вызывается с опцией `-o` вместо `-Fo`. В скрипте configure задумано, чтобы: - создавалась временная папка - ./ffconf.T5fox9W5, - в ней создавалась тестовая программа - test.c, - она компилировалась в объектник = test.o ... но поскольку ключ задан неправильно, результатом является test.obj и не во временной папке, а в c:\ffmpeg, откуда запускал configure. Вопрос: почему configure применяет не тот ключ ? Такое впечатление, что она не понимает, что нужно применять ключ для MSVC ... Но почему так получается ? |