Создать автономный проект с внешними библиотеками - PullRequest
1 голос
/ 07 декабря 2010

Эй, ребята, я хочу создать самостоятельный C-проект, который будет независимым от машины.Пример?Я хочу "сделать все" мой проект на машине, где внешние библиотеки не установлены (но включены в мой проект), и я хочу, чтобы все продолжали работать :) Библиотека, о которой я говорю, это GSL, вы можете найти ее вПакет Ubuntu для libgsl0-dev.Теперь я хочу включить все заголовочные файлы и файлы .c в свой проект, удалить пакеты, и проект должен быть собран и запущен как прежде :) Идеи?Спасибо!Bye!

Ответы [ 2 ]

1 голос
/ 07 декабря 2010

Не забывайте о зависимостях.

Существуют причины, по которым такие библиотеки, как GSL, распространяются как независимые объекты:

Пользователи могут обновлять библиотеку независимо от программного обеспечения, которое ее использует, избавляя вас отнеобходимость постоянно обновлять ваш проект при изменении версии GSL.

Проблемы с лицензированием.

Зависимости.Если у GSL есть зависимости, и вы хотите построить GSL как часть своего проекта, вам также нужно будет включить ВСЕ исходный код для ВСЕХ зависимостей ... и их зависимостей ... и их зависимостей ... и так далее, и так далее,Если вы собираетесь установить требование о том, что некоторая субзависимость уже должна быть установлена, то вы можете также сделать это требованием о том, что GSL уже установлен.

Другие причины, по которым я не могу думатьпотому что у меня есть другие дела.

0 голосов
/ 07 декабря 2010

Просто скопируйте исходный код библиотеки куда-нибудь в иерархию вашего проекта и начните создавать или изменять Make-файлы (или все, что использует GSL), чтобы заставить его создавать.

Например, вы можете поместить его в каталог external/libgsl, а затем установить цель Makefile для вашего проекта, который выполняет сборку. Затем вы делаете код своего проекта зависимым от библиотеки, чтобы библиотека всегда создавалась первой.

Конечно, вам также нужно подумать о любых проблемах с лицензией, которые могут возникнуть, если / когда вы распространяете свой проект.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...