C++ VisualStudio2010中的外部库
我希望在项目中使用一些外部库:libpng和libvorbis。现在,在Linux上,我可以很高兴地构建它们,只要向SCON添加一个配置文件,以便在系统包含路径之外构建额外的include/lib路径 然而,MSVS2010似乎有点挑剔:C++ VisualStudio2010中的外部库,c++,visual-studio,linker,libraries,C++,Visual Studio,Linker,Libraries,我希望在项目中使用一些外部库:libpng和libvorbis。现在,在Linux上,我可以很高兴地构建它们,只要向SCON添加一个配置文件,以便在系统包含路径之外构建额外的include/lib路径 然而,MSVS2010似乎有点挑剔: 我可以将这些库的发布版本的路径添加到用户属性页上的VC++目录中,但这对静态链接不起作用(因为调试版本需要根据调试配置进行链接) 我可以在项目中添加绝对路径,但这意味着项目不可移植 我可以添加libpng目录(例如),然后将Debug\libpng.lib放
- 我可以将这些库的发布版本的路径添加到用户属性页上的VC++目录中,但这对静态链接不起作用(因为调试版本需要根据调试配置进行链接)
- 我可以在项目中添加绝对路径,但这意味着项目不可移植
- 我可以添加libpng目录(例如),然后将
放在链接器输入中,但它找不到符号。假定它是一条相对路径,因为Debug\libpng.lib
\
(例如,能够有意识地将路径放在.suo或.user文件中就太棒了。)如果要添加库的相对路径,请在它们前面加上“\”以从基本项目目录开始
".\Lib\Debug\libpng.lib"
或“.\”引用父目录
"..\Lib\Debug\libpng.lib"
请注意,如果库位于父目录的父目录中,则可以将“.\”引用链接在一起:
"..\..\Lib\Debug\libpng.lib"
如果要添加库的相对路径,请在它们前面加“\”以从基本项目目录开始
".\Lib\Debug\libpng.lib"
或“.\”引用父目录
"..\Lib\Debug\libpng.lib"
请注意,如果库位于父目录的父目录中,则可以将“.\”引用链接在一起:
"..\..\Lib\Debug\libpng.lib"
我已经使用了相对路径,我想知道如何创建绝对路径,而不是基于每个项目。您可以通过导航到“工具->设置->项目和解决方案->VC++目录”在Visual Studio全局设置中设置绝对库路径。事实证明,对于实现可安装到不同计算机上不同位置的常用SDK的项目来说,这是相当常见的做法。这就是你说的吗?如果是这样的话,我会重新发布作为答案。这是VS2010删除的,它也不允许每个配置目录,因此仍然无法使用静态链接。我已经使用相对路径,我想知道如何使用绝对路径,您可以通过导航到“工具->设置->项目和解决方案->VC++目录”在Visual Studio全局设置中设置绝对库路径,对于实现可安装到不同计算机上不同位置的常用SDK的项目来说,这是相当常见的做法。这就是你说的吗?如果是这样的话,我会重新发布作为答案。这是VS2010删除的,它也不允许每个配置目录,所以仍然无法使用静态链接。