0
即時嘗試編譯sbutils。它帶有一個makefile,但每次嘗試編譯時都會出錯。這是生成文件:如何編譯sbopenurl(c)
BINS := sblaunch sburlschemes sbopenurl sbbundleids
all: $(BINS)
%: %.c ent.plist
igcc -o [email protected] $< -std=gnu99 -framework CoreFoundation -framework SpringBoardServices
ldid -Sent.plist [email protected]
clean:
rm -f $(BINS)
它帶有一些utils的(sblaunch sburlschemes sbopenurl和sbbundleids),但我只希望sbopenurl我嘗試complie直接期運用gcc sbopenurl
但錯誤與
Undefined symbols:
"_CFURLCreateWithBytes", referenced from:
_main in ccMCI3Fd.o
"_SBSOpenSensitiveURLAndUnlock", referenced from:
_main in ccMCI3Fd.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
可以
人幫我?
OK十分感謝但每次我運行的命令時,它無法找到的CoreFoundation時間它應該是在豬病sbopenurl.c是或USR/inculude IM期運用GCC在我的iPhone BTW :)謝謝 – 2012-01-04 09:01:49
nope ... CoreFoundation是一個標準的Apple框架,位於 /System/Library/Frameworks/CoreFoundation.framework。如果GCC找不到它,請將開關-isysroot 添加到GCC的上述命令行中。將iOS開發系統替換爲;它可能會像/Developer/Platforms/iPhoneOS.platform/iPhoneOS5.0.sdk(我不知道確切的路徑,我沒有Mac OS X)。 –
2012-01-04 09:10:22
順便說一句,它不能在/ usr/include中。上面的'編譯器錯誤'不是一個真正的編譯器錯誤,而是一個鏈接器錯誤。編譯器不能找到這些函數的聲明,但如果沒有它們包含的框架,它不能找到它們的實際實現。請參閱這個來理解編譯的工作原理:http://caml.inria .FR /酒吧/文檔/奧賴利書/ HTML /書ora065.html – 2012-01-04 09:12:01