2012-12-14 25 views
0

我试图将一个api从windows移植到linux。到目前为止,我已经完成了file.cpp和file.h的工作,但我仍然有一个库.lib指定给windows,这是为了使api工作所需要的。我怎样才能建立一个file.a在这个库上可用的Linux?建立一个file.lib到一个文件.a在linux上可用

+0

你不能像这样移植编译的二进制文件。除了一些非常大的努力或专门的工具。 –

回答

2

Linux(或所有POSIX系统,如Mac OSX)中的静态库实际上是包含所有目标文件的存档。这些档案与ar命令创建:

ar crv some_library.a some_object_file.o 

上述命令从对象文件some_object_file.o创建“归档”(即静态库)some_library.a。这个库现在可以在连接其他程序时使用。

+0

对不起,但我如何使用我的file.lib生成这些?我是Linux新手。 – SamuelNLP

+1

@SamuelNLP您不需要,您需要用于生成原始库文件的对象文件。但是,您不能使用为Windows编译的文件,您需要在Linux机器上编译源代码。 –

+0

所以除非我有file.o我运气不好吧? – SamuelNLP

相关问题