2014-02-06 149 views
2

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

我使用libffi 3.0.13,从他们的original page

我一直在努力使其工作,按照README给出的指令,或试图拿出自己的东西下载,但最终未能漂亮快速。

我想:

  • 使用MinGW的环境来配置libffi。但是这是为'gcc'和'make'完成的。如果我用gcc编译,它可能不会与VS项目正确链接(对吧?)。除此之外,我没有make使用../configure CC="../msvcc.sh -m64"命令(我很乐意安装它,如果GCC编译就足够了)

  • 在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. 完成!

希望它不是太晚!

+0

谢谢你! – codekiddy