3

我即将开始一个应该是跨平台的项目。该代码已经在 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)做类似的事情。

谢谢!

4

2 回答 2

3

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

看起来你正在使用git,我想你在存储库中有你的 3-rd 方库。那么你所做的就是正确的 - 你可以有一个脚本将文件放在适当的位置。

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

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

这是第 3 方库之一的示例,取自global.props我用于项目的文件(因此您有一个示例):

  <PropertyGroup Label="UserMacros">
    <CxImage>..\cximage702_full\CxImage</CxImage>
  </PropertyGroup>
  <PropertyGroup>
    <IncludePath>$(CxImage);$(IncludePath)</IncludePath>
    <LibraryPath>$(CxImage);$(LibraryPath)</LibraryPath>
  </PropertyGroup>
于 2012-07-28T08:44:05.127 回答
0

我建议使用旧模式:

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

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

于 2012-07-28T20:34:11.063 回答