我已經(jīng)成功C++ 地用SWIG. 我發(fā)布了模塊undefined reference并且可以安裝它,但是當(dāng)我去構(gòu)建它時(shí),我發(fā)現(xiàn)生成的文件中包含的函數(shù)有很多錯(cuò)誤c。我把生成的solib文件放在我的系統(tǒng)lib目錄下,把庫中的頭文件放到我的系統(tǒng)include目錄下,但這并沒有解決問題。我猜我c還需要一個(gè)用于包裝文件的頭文件,以便解釋器可以知道文件中的內(nèi)容so,但鑒于SWIG沒有生成頭文件,我不知道我是否遺漏了其他任何東西。我將嘗試編寫自己的頭文件以查看是否可以解決錯(cuò)誤,但即使可以解決,那不應(yīng)該是自動執(zhí)行的操作嗎SWIG?我的源文件如下/** file: golibraw.i **/%module librawgo%{#define LIBRAW_LIBRARY_BUILD/* Put headers and other declarations here */#include "libraw/libraw.h"#include "libraw/libraw_alloc.h"#include "libraw/libraw_const.h"#include "libraw/libraw_datastream.h"#include "libraw/libraw_internal.h"#include "libraw/libraw_types.h"#include "libraw/libraw_version.h"%}%include "libraw/libraw.h"%include "libraw/libraw_alloc.h"%include "libraw/libraw_const.h"%include "libraw/libraw_datastream.h"%include "libraw/libraw_internal.h"%include "libraw/libraw_types.h"%include "libraw/libraw_version.h"
1 回答

慕斯709654
TA貢獻(xiàn)1840條經(jīng)驗(yàn) 獲得超5個(gè)贊
原因是 Go 編譯器不知道這個(gè)庫librawgo.so
。
將以下行放在C
評論的頂部librawgo.go
:
#cgo LDFLAGS: -L<path/to/dir/with/librawgo.so> -lrawgo -lraw
該指令告訴編譯器將此行添加到鏈接器標(biāo)志。
抱歉,我不知道如何修改您的 CMake 和 SWIG 設(shè)置以自動生成此行。
- 1 回答
- 0 關(guān)注
- 80 瀏覽
添加回答
舉報(bào)
0/150
提交
取消