libffi с Visual Studio 2013

Мне нужно скомпилировать библиотеку libffi, чтобы использовать ее в проекте Visual Studio 2013.

Я использую libffi 3.0.13, скачал с их оригинальная страница

Я изо всех сил пытался заставить это работать, следуя инструкциям, приведенным в README, или пытался придумать что-то сам, но в итоге довольно быстро потерпел неудачу.

Я старался:

  • используя среду Mingw для настройки libffi. Но это сделано для «gcc» и «make». Если я скомпилирую с помощью gcc, он, вероятно, не будет правильно связываться с проектом VS (верно?). Кроме того, у меня нет make (Я бы с радостью установил его, если бы компиляции gcc хватило)

  • с использованием ../configure CC="../msvcc.sh -m64" команда, как предложено в README, но мой MINGW не знает, что cl является.

  • Пытался предоставить полный путь к cl.exe, но компилятор не прошел тесты конфигурации. Журнал показывает:

configure:3673: ../msvcc.sh    conftest.c  >&5
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\cl.exe -MD -nologo -W3 conftest.c
conftest.c
LINK : fatal error LNK1104: cannot open file 'MSVCRT.lib'
  • Пробовал использовать оболочку Visual Studio, но затем configure программа неизвестна

3

Решение

во-первых, прости мой плохой английский! Я решил эту проблему только сейчас!

  1. найди свой msvcc.sh
  2. измените его, найдите это положение:
else
args="$md $args"echo "$cl $args"eval "\"$cl\" $args"result=$?
fi

Я добавляю несколько флагов:

else
args="$md $args"echo "********"args=" $args -ID:/soft/Microsoft\ Visual\ Studio\ 12.0/VC/include/ -link -LIBPATH:D:/soft/Microsoft\ Visual\ Studio\ 12.0/VC/lib/ -LIBPATH:C:/Program\ Files\ \(x86\)/Microsoft\ SDKs/Windows/v7.1A/Lib/"echo "********"echo "$cl $args"eval "\"$cl\" $args"result=$?
fi
  1. измените «D: / soft / Microsoft \ Visual \ Studio \ 12.0» на ваш путь!
  2. в cygwin: ./configure CC = E: /project/3rd_parth/libffi/libffi-3.0.13/msvcc.sh (также измените путь)
  3. сделанный!

Надеюсь, еще не поздно!

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]