我構建了一個非常簡單的庫,我可以從另一個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。
我不能工作。只會做一個普通的Ruby擴展。謝謝。 – 2010-07-04 16:20:12