我应该在哪里放置第三方库?

Twi*_*sol 11 c++ windows location header libraries

我参与了一个体面大小的C++项目,该项目具有许多依赖项.问题是,项目包含所有依赖项的来源(例如pcre,zlib等).我想将项目减少到与程序本身相关的内容.是否有一些相对标准的方法来编译这些库并将它们放在某处,并且它们的头文件也可以轻松访问?

对于它的价值,我使用的是Windows 7,而我正在使用VS2005进行开发.我也是一个在Windows上从事大型C++项目的完整菜鸟; 我从来没有真正需要走出标准库和win32.

kor*_*bes 7

我们在我的工作场所使用的结构是一个"外部"文件夹,其中包含标题和外部Libs的"Include"和"Lib"文件夹.但是,由于我们也使用VS,我们尽可能地使用其"依赖关系"功能,删除链接器的手动输入.这意味着只有不在同一解决方案下的项目才会进入"外部"文件夹.此外,由于我们有一些特定于某些项目的第三方库,我们在项目文件夹中为这些包含和库创建文件夹.这是它的方式:

.\
|-Project1\ --> contains Project1.vcproj
|-Project2\ --> contains Project2.vcproj
| |-Third-Party\
|   |-Include\
|   |-Lib\
|-External\
| |-Include\
| |-Lib\
|-InternalLibrary\ --> contains InternalLibrary.vcproj
|-Solution.sln --> includes the vcproj's and link them as necessary by its dependencies

我不知道这是否是有史以来最好的结构,但一切都源代码控制之下,我们可以做夜间构建只需构建解决方案,并研制出通过建立单个项目.