В кроссплатформенном (Windows, FreeBSD) проекте C ++, над которым я работаю, я использую две внешние библиотеки, Protocol Buffers и ZeroMQ . В обоих проектах я отслеживаю последнюю ветку разработки, поэтому эти библиотеки часто перекомпилируются / заменяются.
Для сценария разработки, где лучше всего хранить libprotobuf.{a,lib}
и zeromq.{so,dll}
? Должен ли мой сценарий сборки скопировать их из соответствующих каталогов проекта в каталог моего локального проекта (скажем, MyProjectRoot/lib
или MyProjectRoot/bin
) до того, как я соберу свой проект? Кажется, это предпочтительнее, чем класть вещи в /usr/local/lib
, так как я бы не хотел заменять общесистемную стабильную версию последней экспериментальной.
Cmake предупреждает меня всякий раз, когда я указываю относительный путь для связи, поэтому я подозреваю, что копирование является лучшим решением, чем относительное связывание? Это лучший подход?
Спасибо за вашу помощь!