我想在Windows上使用帶有Swig的golang調(diào)用c ++ dll。(gc編譯器,在Linux上是成功的。)但是存在一些問題。這是示例。//sampel.hint compute(int a, int b);//sample.cpp#include <iostream>#include "sample.h"int compute(int a, int b){ int temp = (a+b)*(a-b); return temp;}//sample.i%module sample%inline %{ #include "sample.h"%}int compute(int a,int b);現(xiàn)在,我使用此cmd生成包裝文件:swig -c++ -go -soname sample.dll -intgosize 64 sample.i然后在VS中創(chuàng)建一個空的dll項目,也添加sample.h標頭文件,將sample.cpp和sample_wrap.cxx添加到源文件,將sample.i添加到該項目。生成解決方案,生成sample.dll使用以下cmd生成sample.a:go tool 6g sample.gogo tool 6c -I C:\Go\pkg\windows_amd64 sample_gc.cgo tool pack grc sample.a sample.6 sample_gc.6接下來,安裝sample.a(以避免出現(xiàn)問題),然后運行test.go:package mainimport ( "fmt" "sample")func main() { fmt.Println(sample.Compute(3, 4))}問題在這里,當我運行test.go時,出現(xiàn)錯誤:adddynlib: unsupported binary format我該如何解決該問題(dll和test.go在同一目錄中)?謝謝!如果您需要我錯過的其他信息,請詢問。
- 1 回答
- 0 關(guān)注
- 403 瀏覽
添加回答
舉報
0/150
提交
取消