摘錄Xcode 交叉開發程式設計中選項

2021-09-06 03:22:14 字數 954 閱讀 5921

選擇開發用的os sdk

為了在makefile中選擇sdk,需要在工程的編譯和連線命令中加入恰當的選項,即為編譯器加入-isysroot選項;為聯結器加入-syslibroot選項。如果您使用gcc 4.0來編譯和連線,則應該把兩個選項同時加入到命令列中。

-isysroot和-syslibroot選項都要求指定您希望使用的sdk目錄的全路徑。最好的做法通常是建立乙個makefile目錄變數來指定這個路徑。下面的例項顯示了在乙個簡單的c程式中如何給makefile變數分配值:

sdk=/developer/sdks/macosx10.4.0.sdk

cflags= -isysroot $

ldflags= -isysroot $ -wl,-syslibroot,$

請注意:如果您的makefile直接將ldflags選項傳遞給ld,而不是傳遞給gcc,則應該將聯結器的選項指定為ldflags= -syslibroot $,因為ld不支援-wl語法。

sdk的目錄位於/developer/sdks路徑下。您自己的聯結器開關應自然包含程式需要的其它編譯器和聯結器的選項。

重要資訊:gcc 4.0支援-isysroot開關,但是沒有在編譯器的man頁面上記述,因為這個功能在將來可能會發生變化。如果這個功能被正式加入到編譯器中,man頁面上就會加入相應的更新資訊。gcc的早期版本不支援這個開關。

選擇部署os

在makefile中設定部署目標需要使用另外乙個makefile變數,形式如下:

envp= macosx_deployment_target=10.3

macosx_deployment_target選項的值確定了您的軟體需要支援的最早的目標系統版本。在前面的例子中,目標系統為10.3。在makefile中將該變數包含在您的編譯和連線命令的前面,就可以了。例如,乙個簡單的c程式可能使用下面的連編命令:

main.o:

$ $ $ -c main.c -o main.o

《js程式設計藝術摘錄》摘錄指令碼

適用於不支援getelementsbyclassname瀏覽器方法的js函式 不適用於多個類名?function getelementsbyclassname node,classname else return result 在新的小視窗開啟頁面 function popup winurl 頁面載...

程式設計之美摘錄

第1章 遊戲之樂 遊戲中碰到的題目 1.1讓cpu佔用率曲線聽你的指揮 int main return 0 解法二 使用gettickcount 和sleep 解法三 能動態適應的解法 1.2中國象棋將帥問題 1.3一摞烙餅的排序 1.4買書問題 1.5快速找出故障機器 1.6飲料供貨 1.7光影切...

開發 時間交叉

資料庫判斷時間交叉,一般很多業務在判斷的時候,都會有一種需求,設定乙個活動的開始,結束時間不能與資料庫任何的開始,結束時間有交叉。遇到這個問題,之前每次都是各種sql,先拿乙個開始時間和 資料庫的開始結束時間,比對,然後在用結束時間與開始結束時間,比對,然後還有傳送的開始結束時間,在資料庫開始活動時...