176得票6回答
将静态库链接到其他静态库

我有一小段依赖于多个静态库(a_1-a_n)的代码。我想把这些代码打包成一个静态库并提供给其他人使用。 我的静态库,我们称其为 X,编译没问题。 我创建了一个简单的示例程序,使用了 X 中的一个函数,但是当我试图将其链接到 X 时,会出现许多缺少来自 a_1 - a_n 库的符号的错误。 ...

129得票9回答
如何将两个“ar”静态库合并为一个?

我有两个静态Linux库,由ar cr创建,它们分别是libabc.a和libxyz.a。 我想将它们合并成一个静态库libaz.a。 如何实现合并。 我想创建一个合并后的静态库,而不是将这两个库直接提供给最终应用程序的链接过程。

42得票1回答
制作库时,ranlib、ar和ld有什么区别?

在我的项目(遗留代码)中,我注意到了两种使用*.o文件生成C++/Unix库的方法:ar qc libgraphics.a *.o ranlib libgraphics.a 和ld -r -o libgraphics.a *.o 这两种方法有何不同,应该分别用于什么目的?

32得票3回答
ar 命令中的 "rcs" 选项是什么意思?

我确实阅读了man手册,但没有帮助。 rcs似乎是传递给ar的最流行选项,但是它的含义对我来说并不那么清晰。 因此,c表示创建一个新存档文件,但是为什么要使用r呢?它似乎代表“替换”?s选项会对输出产生什么影响?

25得票5回答
在Linux上是否可以使用.dll文件

问题:是否可以在Linux上使用.dll文件编译程序? 背景和研究: 我收到了一个名为proprietary.lib的库。我很好奇,因为我从未见过.lib扩展名,所以我输入了: 接下来会发生什么: 这个.dll将被用于编写一个PHP扩展程序,以适应第三方专有软件。 file propr...

19得票5回答
构建的静态库归档不是正在链接的体系结构(x86_64)。

我遇到了一个问题,当我尝试编译两个不同的程序时,似乎出现了相同的问题。每个程序首先创建一个静态库,然后将该库链接到主应用程序中。我正在使用Mac OS Mavericks和gcc 4.7.2。 程序1 当我运行make时,会发生以下情况: 首先,创建了库libfeat.a,但我收到了一个...

17得票2回答
如何将文件名为filename.a的AR归档文件移动到不同的目录?

是否有一种AR选项可以将对象提取到另一个目录?有没有办法将它们提取到tmp下面?[test]# ls -l total 1828 -rw-r--r-- 1 root root 1859628 Aug 24 02:10 libclsr11.a drwxr-xr-x 2 root root ...

17得票1回答
如何在Mac OS中观察静态库的内容?

我在xCode中创建了一个静态库项目,并建立了一个名为 mylib.a 的 .a 文件。该静态库包含一些代码(.m 文件)以及另一个名为 common.a 的静态库文件,用于向静态库 nylib.a 提供信息。 但是我怀疑 common.a 的内容是否真的被打包进了 mylib.a 中。 那么...

15得票4回答
具有相同名称的对象文件的静态库(ar)

简单介绍一下背景。假设我有源文件,需要放到一个静态库中。假设有两个cpp文件a.cpp和b.cpp分别位于两个不同的子目录中。就像这样:foo/a.h foo/a.cpp bar/a.h bar/a.cpp 它们的内容不会冲突,而且完全不同。文件名只是相同的。 现在,在编译时,我当然会得到两...

14得票3回答
合并静态库

假设我有三个C静态库,分别是libColor.a、libRGB.a和libPixel.a。库libColor.a依赖于库libRGB.a,而库libRGB.a又依赖于库libPixel.a。因为在库libColor.a中引用了库libRGB.a中定义的某些符号,所以库libColor.a被认为...