友站互動區 > KaLUG 討論版

編譯相容性問題

(1/1)

被騎上班的老:
原文 http://www.debian.org/doc/manuals/maint-guide/ch-modify.zh-tw.html



--- 引用 ---有一個非常普遍的問題:在不同的平台上連結程式庫通常是不一樣的。例如,Makefile中包裝檔含了對一個庫的參照,但Debian系統上並沒有這個程式庫。在這種情況下,我們需要把它修改成為一個在Debian中確實存在並且完成相同功能的庫。

因此,如果在你的程式的Makefile(或是Makefile.in)中有類似於下面的一行(並且使你的程式無法編譯了):

        LIBS = -lcurses -lsomething -lsomethingelse

可以把它改成這樣,一般情況下它都能工作:

        LIBS = -lncurses -lsomething -lsomethingelse

--- 引用結尾 ---

這是編譯環境不同會出現的困難點。

lloyd:

--- 引述: 被騎上班的老 於 2009-07-30 17:08 ---原文 http://www.debian.org/doc/manuals/maint-guide/ch-modify.zh-tw.html



--- 引用 ---有一個非常普遍的問題:在不同的平台上連結程式庫通常是不一樣的。例如,Makefile中包裝檔含了對一個庫的參照,但Debian系統上並沒有這個程式庫。在這種情況下,我們需要把它修改成為一個在Debian中確實存在並且完成相同功能的庫。

因此,如果在你的程式的Makefile(或是Makefile.in)中有類似於下面的一行(並且使你的程式無法編譯了):

        LIBS = -lcurses -lsomething -lsomethingelse

可以把它改成這樣,一般情況下它都能工作:

        LIBS = -lncurses -lsomething -lsomethingelse

--- 引用結尾 ---

這是編譯環境不同會出現的困難點。

--- 引用結尾 ---

Hello, 老大

你舉的這個例子,我覺得不很恰當,這比較像函式庫 libary 相容性的問題,
有這個問題的話應該去修正 libncurses 它本來就應該要有 libcurses 才對。

BTW: 不同 libary 有提供相同或相似功能時,會有 libary 的選用上的問題,
這應該用 autotools autoconfig 來解決。

導覽

[0] 文章列表

前往完整版本