swig: std::string в ruby
От: sash_ko Украина http://sashkoblog.blogspot.com/
Дата: 05.11.07 16:16
Оценка:
Возникла следующая проблема: хотелось бы использовать в ruby-проекте алгоритмы реализованные на c++. Для того, что бы сконнектить между собой ruby и с++ решил использовать swig. Для конвертинга типов в swig'е есть механизм typemaps, причем для STL есть готовая реализация этих тайпмапов, достаточно в интерфейсный файл включить std_string.i (для std::string). Но вот беда, даже пример из свиговской доки не работает: когда в руби загружается полученный экстеншн
require 'test' # здесь test - название экстеншна

вылазит ошибка: LoadError: /usr/lib/ruby/site_ruby/1.8/i586-linux/test.so: undefined symbol: _ZNSs4_Rep20_S_empty_rep_storageE — /usr/lib/ruby/site_ruby/1.8/i586-linux/test.so.

Скорее всего подобное ожидает и std::vector, std::map и т.д. Возможно кто-нибудь сталкивался с подобным и знает как это побороть?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.