4

我需要编译 libffi 库以在 Visual Studio 2013 项目中使用它。

我正在使用 libffi 3.0.13,从他们的原始页面下载

我一直在努力使其工作,按照自述文件中的说明进行操作,或者尝试自己想出一些东西,但很快就失败了。

我试过了:

  • 使用 Mingw 环境配置 libffi。但这是为“gcc”和“make”完成的。如果我使用 gcc 编译,它可能无法正确链接到 VS 项目(对吗?)。此外,我没有make(如果 gcc 编译就足够了,我很乐意安装它)

  • 使用../configure CC="../msvcc.sh -m64"自述文件中建议的命令,但我的 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 shell,但随后configure程序未知
4

1 回答 1

2

首先,请原谅我糟糕的英语!我刚刚解决了这个问题!

  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. 完毕!

希望还不算太晚!

于 2014-05-08T08:21:17.187 回答