第三方C ++库,在哪里安装?

时间:2012-07-28 08:30:25

标签: c++ windows cross-platform

我即将开始研究一个应该是跨平台的项目。该代码已经在Mac OS X上运行,我已经完成了为Windows和Linux编写新GUI的任务。

我正在考虑从Windows开始,但后来我遇到了一些问题。我需要一些第三方C ++库,但我不确定如何设置VC ++解决方案。

更具体地说,我在哪里可以假设安装了第三方库? Windows上是否有标准文件夹,我可以期待安装库?

或者最好是包含一个自定义构建脚本,该脚本从Web中获取所需的库,并提取到我选择的文件夹,如:

[git repository]
    [vc++ solution files]
        [ externallibs]
            bin/
                *.dll
            include/
                *.h
            lib/
                *.lib
    [non-windows stuff]

并在解决方案中引用这些文件夹?

在我的工作场所,我们使用.NET程序集做类似的事情(当然只有DLL)。

谢谢!

2 个答案:

答案 0 :(得分:3)

Windows中没有用于库的“标准位置”。但是,您可以 做一些事情来自动构建。

看起来你正在使用git,我想你在存储库中有你的第三方库。你正在做的事情是正确的 - 你可以有一个脚本把文件放到适当的位置。

- 或者 - 您“假设”这些库位于本地仓库快照中,并在MSVC ++解决方案中使用相对路径(请记住 - 您可以将这些路径定义为项目“属性”的一部分,这样就可以了在一个地方,您可以指定构建所需文件的相对位置。

在我的项目中,我只是设置了“属性”,并在解决方案中将它们“链接”到我的项目中。这些“属性”指定我正在使用的第三方库的相对路径,所有这些都在同一个源控制系统中,因此无论各个开发人员的设置如何都可以访问。

以下是第3个派对库中的一个示例,取自我用于项目的global.props文件(因此您有样本):

  <PropertyGroup Label="UserMacros">
    <CxImage>..\cximage702_full\CxImage</CxImage>
  </PropertyGroup>
  <PropertyGroup>
    <IncludePath>$(CxImage);$(IncludePath)</IncludePath>
    <LibraryPath>$(CxImage);$(LibraryPath)</LibraryPath>
  </PropertyGroup>

答案 1 :(得分:0)

我建议使用旧模式:

c:/Programs Files/Company Name/Product Name/

库不是产品,但是,这是安装在计算机上的东西。