C++静态库 - 如何从.lib文件创建.a文件?

4

我下载了一个开源的 C++ 库。问题是这是一个库对象文件 (.lib),并且它也是以此方式分发的。然而,我正在尝试使用 Android NDK 将其作为静态库使用,而这需要一个 .a 文件。由于多年没用过 C++,所以希望有人能澄清一下:不太确定为什么他们分发为 .lib 而不是 .a 文件?如何从 .lib 文件创建 .a 文件?


如有必要,请添加标签 - sehe
3
是开源的,对吧?为什么不下载源代码,自己构建一个.a目标文件呢? - Fred Foo
源代码可用。不太熟悉 Makefile。 - Androider
@Androider:如果你要写Android应用程序,那么我建议你熟悉Makefiles和其他基于GNU的构建工具。 - Nicol Bolas
1个回答

7

看一下binutils中的ar命令:

ar rcs mylib.a mylib.lib

我正在使用Cygwin。我已经安装了ar。执行命令"ar c mylib.a mylib.lib"时提示未指定操作。 - Androider
啊...如果你在使用cygwin,我必须警告:.lib文件可能是一个“导入库”(http://en.wikipedia.org/wiki/Dynamic-link_library#Import_libraries)。不过,我已经更新了我的命令,并加上了正确的开关。对于我的记忆失误,抱歉。 - sehe

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接