1

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

但是,MSVS 2010 似乎有点挑剔:

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

我当前的解决方案是将所有需要的库复制到当前项目的解决方案目录中;我什至可以在那里硬链接它们,但这似乎很愚蠢。

我可以做些什么来保持我的项目可移植性,并在每个配置中引用绝对包含/lib 路径?

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

4

1 回答 1

1

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

".\Lib\Debug\libpng.lib"

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

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

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

"..\..\Lib\Debug\libpng.lib"
于 2012-04-23T18:04:10.453 回答