1. 程式人生 > >使用iPad編寫C++程式(轉載)

使用iPad編寫C++程式(轉載)

使用iPad編寫C++程式 一、搭建C++環境
1在cydia內安裝 deb 包
注:在cydia-軟體源-設定中改為開發者,否則有些deb搜尋不到

OpenSSH,OpenSSL
wget (下載工具)
Aptitude 及 APT 0.6 Transitional (deb包工具)
unzip 及 zip (解壓縮及壓縮打包工具)2用putty連線iPad(以下步驟也可以不通過電腦,直接在iPad上進行,不過搭建過程必須有網路,見後文)假設你的 iPad 的IP地址是192.168.1.104

PuTTY 連線 192.168.1.104 後
Login打root
Password(假設你沒有更改密碼) 打alpine
注:無論是PuTTy還是本文最後說的iPad的命令列,輸入密碼時都不會顯示字元,輸完按回車即可
注:無論是PuTTy還是本文最後說的iPad的命令列,登陸root賬戶後預設路徑為/var/root/
3安裝iPhone gcc及簽名工具

在PuTTY中打(PuTTy中滑鼠右鍵貼上):
  1. wget http://apt.saurik.com/debs/libgcc_4.2-20080410-1-6_iphoneos-arm.deb
  2. dpkg -i libgcc_4.2-20080410-1-6_iphoneos-arm.deb
  3. apt-get install iphone-gcc ldid make
最後一句有可能發生的兩個錯誤:
1、如果提示找不到apt命令,在CYDIA中搜索apt,安裝APT 0.6 Transitional,APT 0.7 (apt-key),APT 0.7 HTTPS Method,APT 0.7 Strict,Apt0.7 Strict (lib),Aptitude
注:雖然我不知道是哪個的作用,不過反正是好了,而且以後程式設計用的上,就都裝了吧
2、參考
http://blog.163.com/[email protected]/blog/static/140137653201142354756503/

使用apt-get進行軟體的install或update時,有時會出現以下提示資訊:
  1. E:Could not get lock /var/lib/dpkg/lock - open (11 Resource temporarily unavailable)
  2. E:Unable to lock the administration directory (/var/lib/dpkg/), is another process using it?

刪除/var/lib/dpkg/lock檔案,即可
4下載sys32Libheader.tgz

115 下載:http://115.com/file/bhy27ghj
複製到/var/root
5安裝3.2 SDK (iPad)標頭檔案
在PuTTY中打(PuTTy中滑鼠右鍵貼上):
  1. mkdir -p /var/toolchain
  2. cd /var/toolchain
  3. tar xzvf /var/root/sys32Libheader.tgz
  4. cp -p /var/toolchain/sys32/usr/lib/libstdc++.* /usr/lib/
  5. cd /usr/lib/
  6. ln -s libSystem.B.dylib libSystem.dylib

到此,C++程式設計的環境就搭建好了,接下來用一個小程式講解怎麼進行程式設計二、如何進行程式設計
在電腦用記事本編寫HelloWorld.cpp
  1. #include
  2. using namespace std;
  3. int main()
  4. {
  5. cout << “Hello World !” << endl;
  6. return 0;
  7. }

把HelloWorld.cpp複製到/var/root/,
在PuTTY中打(PuTTy中滑鼠右鍵貼上):
  1. arm-apple-darwin9-g++ -I"/var/toolchain/sys32/usr/include" -I"/var/toolchain/sys32/usr/include/c++/4.2.1" -I"/var/toolchain/sys32/usr/include/c++/4.2.1/armv7-apple-darwin9" -L"/var/toolchain/sys32/usr/lib" HelloWorld.cpp -o HelloWorld
  2. ldid -S HelloWorld
  3. ./HelloWorld


此時,用檔案管理軟體可以看到

這個就是編譯後的程式,可以用./HelloWorld執行(./指當前路徑)

綜述:
編譯:
  1. arm-apple-darwin9-g++ -I"/var/toolchain/sys32/usr/include" -I"/var/toolchain/sys32/usr/include/c++/4.2.1" -I"/var/toolchain/sys32/usr/include/c++/4.2.1/armv7-apple-darwin9" -L"/var/toolchain/sys32/usr/lib" 程式名稱.cpp -o 程式名稱
  2. ldid -S 程式名稱

執行:
  1. ./程式名稱


三、程式碼編寫軟體
從上文在電腦建立.cpp檔案可以看出,現在iPad能做的只是具有C++的環境,進行編譯等,寫程式碼還需其他的程式
原帖推薦的是Vi iMproved,可以在Cydia中搜索並安裝,進入方式是在PuTTy或命令列下輸入vim,退出方式是連續快速輸入兩次大寫Z,具體詳細操作可參考http://www.caole.net/diary/vim.html
網上可找到很多的iPad的程式碼編寫軟體,我使用的是Textastic (圖及下載見最後)

四、關於iPad端命令列
上文講的都是在電腦上通過PuTTy控制iPad編譯,執行程式。不過如果電腦隨時在身邊的話也就不用iPad程式設計了,接下來講怎麼在iPad上實現上述過程
在Cydia中搜索並安裝MobileTerminal
開啟Terminal,點選右下角的i可以進入程式設定,管理快捷輸入和手勢操作
此後所有步驟都和在電腦上用PuTTy一樣

輸入login
Login打root
Password(假設你沒有更改密碼) 打alpine

關於命令列使用的更多資訊可參考:
http://blog.sina.com.cn/s/blog_51d3553f0100xrxz.html

程式碼編寫軟體:Textastic
一個編寫程式碼的軟體,很方便,介面如下

中間的那個AssistiveTouch是我為了截圖的時候保護home鍵開的,跟程式無關
我沒裝iKeywi HD,因為感覺按鍵大了打字舒服,而且這個軟體帶字元輸入(鍵盤上面那一排,四個角的符號滑動輸入)
為了方便編譯程式,可以建立快捷輸入
在iFile(一個檔案管理軟體,應該都知道)中,找到.cpp的路徑,按書籤,按“+”



複製/var…後的路徑,如圖
在Terminal中,按右下角i,開啟選單,Shortcut Menu-新建,Shortcut Action中輸入”cd “,貼上,以後就可以在Terminal的左下角快捷輸入了

Textastic下載: Textastic-v4.0.2.ipa (5206 K) 下載次數:14