2010-12-07 2 views
1

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

+0

Какие у вас идеи? Кажется, вы все разобрались в стратегии. Вы что-то застряли? – 2010-12-07 10:05:51

ответ

0

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

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

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

1

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

Есть причины, почему библиотеки GSL распределены независим лиц:

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

Вопросы выдачи лицензий.

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

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

+0

Лицензирование не является проблемой, поскольку проект предназначен для исследовательской цели (университетский экзаменационный проект), но зависимости могут быть проблемой. В самом деле, я думаю, что я напишу из двух или трех функций утилиты и оставлю GSL в ящике :) – 2010-12-07 13:13:14

Смежные вопросы