2010-06-28 45 views
0

我構建了一個非常簡單的庫,我可以從另一個C++程序中調用它。MinGW上的Ruby FFI

但是,當我嘗試讓Ruby FFI鏈接它時,它不起作用。它給出了FFI::NotFoundError,稱它無法找到在DLL中導出的函數。

哪裏出問題了?當我使用g ++編譯我的DLL時,是否需要特殊處理?我只是用g++ -shared -o lib.dll libsrc.cpp來構建它。

我是Ruby的新手,但是FFI的示例代碼非常簡單,我也有代碼從user32 DLL到FFI執行一些相當複雜的事情。所以我知道它的工作原理。

我可以想到的另一件事是使用visual studio編譯我的代碼,希望能夠製作更「兼​​容」的DLL,但我想堅持使用GCC。

回答