In a cross-platform (Windows, FreeBSD) C++ project I'm working on, I am making use of two external libraries, Protocol Buffers and ZeroMQ. In both projects, I am tracking the latest development branch, so these libraries are recompiled / replaced often.
For a development scenario, where is the best place to keep libprotobuf.{a,lib}
and zeromq.{so,dll}
? Should I have my build script copy them from their respective project directories into my local project's directory (say MyProjectRoot/lib
or MyProjectRoot/bin
) before I build my project? This seems preferable to tossing things into /usr/local/lib
, as I wouldn't want to replace a system-wide stable version with the latest experimental one.
Cmake warns me whenever I specify a relative path for linking, so I would suspect copying is a better solution then relative linking? Is this the best approach?
Thanks for your help!