Visual Studio 2010 中的外部库

External Libraries in Visual Studio 2010

本文关键字:外部 Studio 2010 Visual      更新时间:2023-10-16

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

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

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

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

我该怎么做才能使我的项目保持可移植性,并引用每个配置的绝对包含/库路径?

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

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

".LibDebuglibpng.lib"

或"..\" 引用父目录。

"..LibDebuglibpng.lib"

请注意,如果您的库位于父目录的父目录中,那么您只需链接"..\"一起引用:

"....LibDebuglibpng.lib"