EgoRusMarch
@EgoRusMarch
C++ Developer

Как слинковать MinGW либу с MSVC? Или как скомпилировать STL Filesystem с MinGW 8.1.0?

Пытаюсь под Windows слинковать FFmpeg с проектом (через extern "C"). С MinGW 8.1.0 в тестовом проекте получилось успешно слинковать, с MSVC - ошибка. Пробема в том, что в проекте я использую STL Filesystem, которой вроде как нет в MinGW, по крайней мере я не могу с ней скомпилировать. Я использую CMake, и через него установлен 17й стандарт, так что дело не в нём. Подскажите, как можно решить данную проблему? Большое спасибо.

PS: Вообще, в скачанной отсюда dev-сборке, есть такие def-файлы, которые вроде как должны разрешить эту проблему, или нет?5f1455c928ca6254039539.png
  • Вопрос задан
  • 128 просмотров
Решения вопроса 1
EgoRusMarch
@EgoRusMarch Автор вопроса
C++ Developer
Вроде бы получилось, слинквалось, ошибки нет. Вот что я сделал:

  • В C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\bin\{Hostx64\x64|Hostx32\x32} лежит файл lib.exe. Его нужно добавить в переменную окружения Path, чтобы можно было запускать как команду из консоли (хотя можете просто прописать путь целиком при вызове).
  • И выполнить что-то типа: lib /machine:x64 /def:your_lib.def или lib /machine:x32 /def:your_lib.def, после чего выведет сообщение:
    Creating library your_lib.lib and object your_lib.exp

Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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