c++ - 链接静态库 C++ 时遇到问题

标签 c++ static linker

我已经弄清楚如何设置 VC++ 将代码编译成 .lib 文件而不是 .exe,但我无法将 lib 与我的其他 .obj 文件链接在一起。

这是我设置库和应用程序文件夹的方式。 (不知道对不对)

AppFolder
  App.sln
  App.ncb
  *.h
  *.cpp
  Debug
    *.obj
    App.exe

还有硬盘上的其他地方...

LibraryFolder
  lib
    Library.lib
  include
    LibrarySolutionFolder
      Library.sln
      Library.ncb
      *.h
      *.cpp
      Debug
        *.obj
        Library.lib

我已经从我的应用程序的 cpp 文件中 #including 库 *.h 文件,并且一切都编译正常。就在它链接时,我得到了所有 .lib 的列表 正在搜索的文件,而 Library.lib 不在那里,即使我将它列在 VC++ 目录中。 我怎样才能得到这个链接? (我是否正确构建了库文件夹?)

最佳答案

关于项目属性:

配置属性 -> 链接器 -> 输入 -> 附加依赖

把它加进去。

或者,在库的 .h 文件中,添加:

#pragma comment(lib, "Library")

这会自动为您完成。

关于c++ - 链接静态库 C++ 时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/223919/

相关文章:

c++ - 是否可以从std::any使用std::reference_wrapper创建std::any?

c++ - 是否在失败/错误状态未定义行为的 istream 上调用 operator>>?

Java 到 Cpp 代码转换,有关 static 和 new 关键字的问题

c++ - 尽管与 boost_system 链接,但对 boost::system::generic_category 的 undefined reference

ffmpeg - 用 cmake 链接 ffmpeg 错误

c - 链接器提示 C 代码中的函数有多个定义,而实际上只有一个函数

C++ 如何检测 Windows 10

c++ - 基于可变参数模板长度的条件成员函数声明

delphi - TApplicationEvents 作为动态组件或静态组件用于跟踪在 Delphi 中调用的例程

c - 闪烁问题但不想使用 CLIPCHILDREN 风格