GOBJECT:未解析的外部符号___ chkstk_ms

时间:2015-10-17 10:39:23

标签: visual-studio unresolved-external gobject

在Visual Studio中编译GOBJECT时,我遇到了两个以下 错误:

Error   5   error LNK1120: 1 unresolved externals   C:\gtk_compilation\glib\glib-2.46.0\build\win32\vs12\Debug\Win32\bin\gobject-2-vs12.dll gobject
Error   4   error LNK2019: unresolved external symbol ___chkstk_ms referenced in function _ffi_call C:\gtk_compilation\glib\glib-2.46.0\build\win32\vs12\libffi.lib(ffi.o)  gobject

我使用here描述的过程重新编译了libffi但是 给./configure的额外标志如下。

cflags="-fno-stack-check -fno-stack-protector -mno-stack-arg-probe"

我希望能摆脱___chkstk_ms的调用。

在libffi的makemake install之后,我将libffi.a重命名为libffi.lib,将libffi.dll.a重命名为libffi.dll,并将它们复制到相应的目录中。

然后我在visual studio中重建了gobject项目,我得到了同样的错误 我在开始时提到过。 :(

编辑:

从这个post,我想问题的根源是我使用的是两个编译器。但是我没有办法绕过它。我试着编译 使用Visual Studio Projects的libffi可用,但需要数小时的努力 是徒劳的。

1 个答案:

答案 0 :(得分:0)

我使用Github project.

中找到的Libffi的MSVC版本解决了这个问题

但是,您需要从

更改#606行
sizet z = (*p_arg)->size;

unsigned long long  z = (*p_arg)->size;

因为typedef不是(出于某种原因在这里有效)。