【问题标题】:compiled *.lib file visual studio编译 *.lib 文件 Visual Studio
【发布时间】:2013-04-29 21:56:04
【问题描述】:

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

我的问题是,如果我将 Liker->General->Additional Library Directories 设置为它们各自的调试文件夹并将 Input->Additional Dependencies 设置为 *.lib 文件,Visual Studio 会给出一些随机链接器错误 1104 cant open *. lib文件,但现在每次都是同一个lib文件,有时是Library1有时是Library2。 如果我保留目录并将依赖项设置为所有这些 *.obj 文件。工作得很好。 如果我删除目录并通过“U:\Source\Applications\CURRENTSOLUTION\Debug\Library1.lib”在当前解决方案调试文件中将依赖项设置为 *.lib 文件,它就可以正常工作。

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

【问题讨论】:

    标签: c++ visual-studio-2010 linker


    【解决方案1】:

    有时是 Library1 有时是 Library2

    您可能遇到了构建顺序问题。它在构建库之前开始构建您的 EXE 项目。现有方法的修复方法是右键单击您的 EXE 项目并选择“项目依赖项”。勾选库项目。

    但更好的解决方案是右键单击 EXE 项目、属性、通用属性、框架和引用。单击添加新引用按钮并勾选库项目。这不仅照顾了构建顺序,它还自动告诉链接器链接.libs。现在也可以在 Release 版本中使用,您现有的解决方案可能还没有这样做。

    【讨论】:

    • 谢谢,试试这个tmr。
    猜你喜欢
    • 1970-01-01
    • 2023-04-04
    • 2016-07-24
    • 2017-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-11
    • 2013-10-23
    相关资源
    最近更新 更多