2011-11-24 124 views

回答

0

不,沒有。庫和可執行文件特定於操作系統和處理器。你可以考慮移植的唯一東西是源代碼,如果它寫得非常謹慎。一些庫(例如QtCore,Gtk/Glib,...)抽象了一個平臺併爲您提供了一個通用的API(可在許多操作系統上使用),但是您仍然需要爲每個系統編譯。

您可以將虛擬機作爲目標(例如通過Java,Lua字節碼或Ocaml字節碼...)來獲得額外的可移植性(以虛擬機實施的成本爲代價)。您也可以將軟件編碼爲腳本(例如使用Python)。

+0

我想使用一個外部庫,它們提供了庫的windows構建和linux版本。所以只有當他們提供cygwin構建時,我才能夠使用它們的lib來達到我的目的? –

+0

不,庫的編譯形式是操作系統和機器特定的。你必須爲Windows和Linux提供獨立的版本(甚至是針對Linux x86,Linux x86-64,Linux ARM的獨立版本)。 –

+0

您需要cygwin構建庫(或從源代碼自己構建庫)以在cygwin下使用該庫。 –