Предоставление Quantlib и другой библиотеки C # через SWIG - PullRequest
1 голос
/ 08 марта 2011

Компиляция и компоновка Quantlib занимает некоторое время, так как это не маленький проект.Я строю некоторые дополнительные функции поверх Quantlib, и я хочу сохранить эти дополнительные функции в отдельном проекте.

Есть ли способ легко представить два проекта C ++ в одну библиотеку через SWIG?Поскольку мой проект довольно мал, всего несколько классов, я могу легко позволить себе делать то, что автоматизирует SWIG.Тем не менее, я действительно хочу развернуть для моих пользователей только минимум файлов, то есть две библиотеки, созданные Quantlib-SWIG.

Ответы [ 2 ]

1 голос
/ 09 марта 2011

В частности, я не знаю Quantlib, но в целом сделать это с помощью SWIG должно быть довольно просто: модуль SWIG на C # поддерживает опцию dllimport, которая позволяет вам указать DLL, на которую ссылаются методы P / Invoke (за подробностями обращайтесь к разделу C # руководства SWIG).

Таким образом, вы можете просто создать отдельный файл интерфейса SWIG для вашего расширения, установить dllimport на имя, используемое Quantlib, и скомпилировать оба клея C ++.закодируйте файлы в одну DLL для Quantlib и вашего собственного кода.

1 голос
/ 09 марта 2011

Взгляните на предварительно собранных двоичных файлов Resolver Systems QuantLib с привязками C # , хотя я не уверен, как часто они обновляют его с выпусками QuantLib.

Это избавит вас от необходимости беспокоиться хотя бы об одной из ваших библиотек?

...