【问题标题】:Can I save a C static library anywhere I want?我可以在任何我想要的地方保存 C 静态库吗?
【发布时间】:2019-11-21 15:42:22
【问题描述】:

我在 C 中创建了一个库,并希望在编译时链接它。是否必须保存在计算机文件系统中的某个文件夹中,或者我可以在我的应用程序中创建自己的文件结构来保存它?

更新:我的错误原来是没有正确包含头文件。我的文件和链接器很好,但只是语法错误。

【问题讨论】:

  • @EugeneSh。那里接受的答案是关于rpath,这与OP的要求无关。 OP 正在谈论 static 库。
  • 好的,正在收回...

标签: c static-libraries static-linking


【解决方案1】:

您可以将其保存在任何您想要的地方。只要确保编译器知道位置。以gcc为例,可以使用:

gcc -L path/to/libdir -l:mylib.a ...

(假设mylib.apath/to/libdir 中)

甚至:

gcc path/to/libdir/mylib.a ...

【讨论】:

  • 同意。只是吹毛求疵,但需要知道位置的是链接器;在这种情况下,编译器只是为了方便用户调用链接器 (ld)。
  • 当然是这样,但是由于是编译器调用了链接器,所以编译器需要知道它。措辞是一致的,我不想过于复杂。
  • 由于不需要编译器调用链接器,编译器也不需要需要知道。
  • 嗯,是的。目前尚不清楚 OP 是否已经拥有所需的对象并且只想链接。无论哪种方式,gcc 都适用于这两个目的。
  • @usr 这取决于你所说的“单独”。毕竟,一切都在一个磁盘映像上,不是吗
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-26
  • 2011-06-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-05
相关资源
最近更新 更多