2013-04-29 157 views
0

我有几个库项目。我有一个解决方案,其中包括这些库项目和一个应用程序项目。 我的问题是,在链接器中,我应该链接这些单个项目的调试文件夹中的* .lib文件还是从此解决方案的调试文件夹中链接* .lib文件?如果我单击重新生成,那些库项目将被编译为* .lib,并且将在它们自己的解决方案/调试文件夹和当前的调试文件夹中生成新的* .lib文件。编译* .lib文件visual studio

我的问题是,如果我将Liker-> General-> Additional Library Directories设置为它们各自的调试文件夹,并且输入 - >其他依赖项添加到* .lib文件,Visual Studio将给出一些随机链接器错误1104无法打开* .lib文件,但它现在每次都是相同的lib文件,有时是Library1有时是Library2。 如果我保留目录并将依赖项设置为所有这些* .obj文件。工作得很好。 如果我通过“U:\ Source \ Applications \ CURRENTSOLUTION \ Debug \ Library1.lib”删除当前解决方案调试文件中的directores并将相关性设置为* .lib文件,那么它工作得很好。

那么,这是我的图书馆的正确方式?

回答

0

有时是分享帮助有时是Library2

你可能有一个建造顺序问题。它正在构建库之前开始构建您的EXE项目。现有方法的修复方法是右键单击您的EXE项目并选择“项目依赖项”。勾选图书馆项目。

但优越的解决方案是右键单击EXE项目,属性,通用属性,框架和引用。点击Add New Reference按钮并勾选库项目。这不仅负责构建顺序,还会自动告知链接器链接.libs。现在这个版本也可以在Release版本中使用,你现有的解决方案可能还没有这样做。

+0

谢谢你,会试试这个tmr。 – cynric4sure 2013-04-30 01:37:01