Есть самописная библиотека С++ (.h и .cpp соответственно) использующая библиотеки OpenCV и boost.
Заголовочный файл имеет вид:
#include
Ответ
boost::ublas — это header-only library, поэтому к вопросу она отношения не имеет. То есть тому, кто захочет использовать вашу штуковину, нужно будет иметь хэдеры boost'a, и в этом никакой проблемы лично я не вижу. Далее, правильное решение с OpenCV следующее — не нужно embedd'ить весь OpenCV в вашу библиотеку, а нужно поставлять библиотеку as is, а всех пользователей вашей библиотеки отправлять на opencv.org Решение с embedd'ингом плохое, поскольку вы лишаете пользователей вашей библиотеки возможности динамически линковаться с OpenCV и форсируете увеличение размера любого приложения, собранного с применением вашей библиотеки. Также embedd'инг всего OpenCV в вашу библиотеку чреват проблемами с безопасностью. Что должен сделать пользователь вашей библиотеки, в которую статически влинкован OpenCV 2.4.5, если он узнает, что в 2.4.5 нашли exploit, который позволяет получить доступ к любой системе? OpenCV, скажем, выпускает для этого патч-релиз 2.4.6, а ваш пользователь кусает локти. Последний пример, разумеется, сильно притянут за уши, но аргумент вполне себе имеет место быть. Если вы все-таки решите статически embedd'ить OpenCV в вашу библиотеку, то в Visual Studio это можно сделать, например, с помощью приложения LIB. Вам нужно взять файл вашей библиотеки и файл статически собранной библиотеки OpenCV, сдампить из них obj файлы и склеить эти файлы в новую библиотеку, которую и отправлять пользователю.
Комментариев нет:
Отправить комментарий