编译器什么时候需要访问库?

时间:2012-07-08 19:35:39

标签: c++ visual-c++ compiler-construction linker

假设我有3个项目:

  • 项目计划 - >编译成可执行文件
    • 参考音频,Tweakbar
    • 附加依赖项:没有
    • 其他图书馆依赖项:没有
  • 项目音频
    • 围绕fmod包装,编译成.lib
    • 其他依赖项:fmodex_vc.lib
    • 其他库依赖项:$(SolutionDir)\ libs \ fmod \ lib
  • Project TweakBar
    • 围绕AntTweakBar包装,编译成.lib
    • 其他依赖项:AntTweakBar.lib
    • 其他库依赖项:$(SolutionDir)libs \ AntTweakBar \ lib

现在,问题是我收到以下编译错误:

致命错误LNK1104:无法打开文件'AntTweakBar.lib'

可以通过将该lib文件的路径放在“Program”

的项目设置中来解决此错误

我想知道的是为什么我需要在那里找到这个lib的路径?如果没有这样的道路,fmod工作得非常好。

1 个答案:

答案 0 :(得分:0)

因为只有在创建可执行文件时才需要库;此时,所有库都链接到可执行文件中。

显然,VisualStudio IDE不会自动将其他库使用的库“升级”到实际应用程序,因此您必须手动执行此操作。