Golang中国

请教一个问题,
现在有一个C++写的dll(只有dll和.h头文件,无源代码),在windows 10、GO1.5.1下SWIGCXX内容如:

%module mm

%{
    #include "api.h"
%}

%include "windows.i"
%include "api.h"
__declspec(dllexport) ULONG __stdcall foo(DWORD, __int32);

然后运行
go install
提示找不到 runtime.h文件,在Go 1.5的src目录下是没有这个文件的,在Go 1.4时还有。

如果在Go 1.4下运行
go install 提示(Go 好像默认关闭不cgo?)
can’t load package: package simplelib: C source files not allowed when not using cgo

如果手工编译

swig -go -c++ -intgosize 64 api.swigcxx

go tool 6g mm.go

go tool 6c -I C:\go\pkg\windows_amd64\ mm_gc.c

go tool pack grc mm.a mm.6 mm_gc.6

生成的mm.a不管放在哪目录都无法找到这个库!

使用 gcc 编译工具 (tdm64-1) 5.1.0


benyu 于 2015-10-14 21:00 修改
0 回复
需要 登录 后方可回复, 如果你还没有账号你可以 注册 一个帐号。