Visual Studio 2010中的外部库

时间:2012-04-23 17:51:53

标签: c++ visual-studio linker libraries

我希望在项目中使用一些外部库:libpng和libvorbis。现在,在Linux上,我可以愉快地构建这些,只需添加一个配置文件到scons,如果你想在系统包含路径之外构建它们,就允许额外的include / lib路径。

然而,MSVS 2010似乎有点挑剔:

  • 我可以将这些库的发行版本的路径添加到用户属性页面上的VC ++目录中,但这不适用于静态链接(因为调试版本需要链接到调试配置)。
  • 我可以在项目中添加绝对路径,但这意味着该项目不可移植。
  • 我可以添加libpng目录(例如),然后将Debug\libpng.lib放在链接器输入中,但找不到符号。据推测,由于\,它假设它是一条相对路径。

我目前的解决方案是将所有必需的库复制到当前项目的解决方案目录中;我甚至可以把它们硬连接在那里,但这看起来很愚蠢。

如何保持项目的可移植性,并为每个配置引用绝对的include / lib路径

(例如,能够故意将路径放在.suo或.user文件中会非常棒。)

1 个答案:

答案 0 :(得分:1)

如果要添加库的相对路径,请在前面添加“。\”以从基础项目目录开始;

".\Lib\Debug\libpng.lib"

或“.. \”引用父目录。

"..\Lib\Debug\libpng.lib"

请注意,如果您的库位于父目录的父目录中,那么您可以将“.. \”引用链接在一起:

"..\..\Lib\Debug\libpng.lib"