2012-12-14 63 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

相關問題