10年以上前に買った32インチのアクオス(亀山モデル)のファンの音が最近うるさくなって、東芝Regaza、40J7を買いました。昨年末に液晶パネルが暴落し、値が持ち直してきてるという話があったので、ちょっと考えてたんだよですね。
あと、東芝は値段が安いんですよ。(パネルを以前から外部調達してますから)しかし、入力がHDMIx3あるのはいいけど、D端子もない!Wiiのために変換器をかわないと。
ところで、軽くなりましたね。以前の32インチより軽いよ、これ。組み立てて気づいたんですが、台座の大本のところのネジは、滑り止めの青い塗料が塗ってありました。これって、たしか一回締めたら、2回目は(滑り止めの)効果がなくなるやつのはず。説明資料には何も書いてないですが、いかんでしょう。まあ、一度組み立てたらばらすことなんてまずないでしょうが、注意は書いとくべきだと思う。
2013年2月17日日曜日
2013年2月11日月曜日
Raspberry Pi ベンチマーク
無事動くことがわかったRaspberry Piですが、処理速度はどんなもんでしょう。まあ大した期待はしてませんが、一応ベンチマーク(UnixBench 5.1.3)のDhrystoneとWhetstoneを実行してみます。
比較対象として、先日AMD64に入れた、CentOS6.2と1,2年くらい前に測定したCore2Duo(結構、早めのやつ)の3つです。
予想通りの結果ですね。Raspberry PiのARMチップは一応浮動小数点の回路があるんですが、ARMv6と若干古めのアーキテクチャです。(コストを考えて、v7はあきらめたとか)
でも、Nexus7(Tegra3)にてPCで作成したJavaアプリ動かしてみたら、同じくらい(50%以上の計算速度くらいの体感)だったのを考えると、やっぱり値段なりの性能のようです。
後、このベンチをCentOSでやろうとしたら、複数の計測プログラムを連続して実行するツールがPerlで書かれているんですが、ライブラリがないと怒られました。調べてみたら、CentOS(RedHatもなんだろうか?)のPerl実装はライブラリ関係があまり入っていないとか。なんでそんなことになっているのかわかりませんが、以下のコマンドでPerlのライブラリを後からインストールできます。
# yum install perl-Time-HiRes
# yum install perl-Digest-SHA
コアモジュール一式をインストールする場合
# yum install perl-core
比較対象として、先日AMD64に入れた、CentOS6.2と1,2年くらい前に測定したCore2Duo(結構、早めのやつ)の3つです。
予想通りの結果ですね。Raspberry PiのARMチップは一応浮動小数点の回路があるんですが、ARMv6と若干古めのアーキテクチャです。(コストを考えて、v7はあきらめたとか)
でも、Nexus7(Tegra3)にてPCで作成したJavaアプリ動かしてみたら、同じくらい(50%以上の計算速度くらいの体感)だったのを考えると、やっぱり値段なりの性能のようです。
後、このベンチをCentOSでやろうとしたら、複数の計測プログラムを連続して実行するツールがPerlで書かれているんですが、ライブラリがないと怒られました。調べてみたら、CentOS(RedHatもなんだろうか?)のPerl実装はライブラリ関係があまり入っていないとか。なんでそんなことになっているのかわかりませんが、以下のコマンドでPerlのライブラリを後からインストールできます。
# yum install perl-Time-HiRes
# yum install perl-Digest-SHA
コアモジュール一式をインストールする場合
# yum install perl-core
2013年2月10日日曜日
CentOS 6.2インストール
以前からCentOS6系を試してみようと思っていたんですが、なかなかそこまで手がでてませんでした。ところで、もう12年前に購入(なにせ一緒にかったEPSONのプリンタについてたおまけの年賀状印刷ソフトが辰年なので、満12年過ぎてますね)したNECのデスクトップ(XP)が、遅くてしかたがないんですが、ついに思い切ってLinuxにしてしまうことにしました。(AMD 1GHz、メモリ1GBの年代物?)
まずCentOS6のインストール・イメージをDLしないといけませんが、なんか32bit用と64bit用の区別しかないように見えます。(Server用とかないの?)CPUは一応64bitなんですが、メモリが1GBしかないので、32bitにしておきます。DLしたイメージをDVDに焼き、さて起動と。あれ?なんかこれLive版だよ?起動にやけに時間がかかる(1分くらい)と思ったら、いきなりXの画面になってしまいました。なかにインストールのメニューがあったので、それでインストール開始。特に注意はありませんが、メーカー製のPCなのでOSのリカバリー領域があります。そこもつぶすか悩んだんですが、一応残しておきました。(XPにもどすかわからないけど、その分の金も払ってるしね)
あと、ディスクのパーティションニングが一つの山です。やるたびにUI変わって悩みますが、手動でやるときは/swap領域つくるの忘れずに。(特にメモリが1GBしかないマシンだから)
ところで、インストールするパッケージの選択が出てきませんでした。ということはbaseしか入ってない??めんどくさいけど、後からいろいろいれないといけません。(最近、Ubuntu使うことが多かったので、apt-getばかりだったのですが、久しぶりにyumコマンドです)
1.日本語化しましょう
baseシステムしか入ってないので、日本語は入っていません。調べてみたら、今はyumにgroupinstallなるパッケージ群を一度にインストールしてくれるものがあると。以下のコマンドで一発です。
# yum groupinstall "Japanese Support"
ちなみにgrouplistで使えるグループ名が調べれます。
次に文字コードの指定をしないといけませんが、自分はユーザーアカウントの.bashrcに以下の設定を入れておきました。(システム全体のデフォルトを日本語にしてもいいけど、なんとなく)
LANG=ja_JP.UTF-8
export LANG
2.Chromeをいれよう
世の中のディストリビューションはほとんどブラウザはFireFoxです。個人的にChromeが好きなので、まずこれのインストールです。普通にgoogleのHPにいくとdebian版のdebパッケージしかありません。それではこまります。(rpmがない!)しかたないので、リポジトリに以下を追加します。
(1)/etc/yum.repos.d/google-chorme.repo を作成します。
(2)以下を入力
[google-chrome]
name=google-chrome - 32-bit
baseurl=http://dl.google.com/linux/chrome/rpm/stable/i386
enabled=1
gpgcheck=1
gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub
64bitの時はそれように内容を変更を。(x86_64とかね)
# yum list ‘*chrome*’
でインストール可能なものが表示されます。
google-chrome-beta
google-chrome-stable
google-chrome-unstable
の3つのバージョンがインストールできます。(まあ普通はstableをいれましょう)
まずCentOS6のインストール・イメージをDLしないといけませんが、なんか32bit用と64bit用の区別しかないように見えます。(Server用とかないの?)CPUは一応64bitなんですが、メモリが1GBしかないので、32bitにしておきます。DLしたイメージをDVDに焼き、さて起動と。あれ?なんかこれLive版だよ?起動にやけに時間がかかる(1分くらい)と思ったら、いきなりXの画面になってしまいました。なかにインストールのメニューがあったので、それでインストール開始。特に注意はありませんが、メーカー製のPCなのでOSのリカバリー領域があります。そこもつぶすか悩んだんですが、一応残しておきました。(XPにもどすかわからないけど、その分の金も払ってるしね)
あと、ディスクのパーティションニングが一つの山です。やるたびにUI変わって悩みますが、手動でやるときは/swap領域つくるの忘れずに。(特にメモリが1GBしかないマシンだから)
ところで、インストールするパッケージの選択が出てきませんでした。ということはbaseしか入ってない??めんどくさいけど、後からいろいろいれないといけません。(最近、Ubuntu使うことが多かったので、apt-getばかりだったのですが、久しぶりにyumコマンドです)
1.日本語化しましょう
baseシステムしか入ってないので、日本語は入っていません。調べてみたら、今はyumにgroupinstallなるパッケージ群を一度にインストールしてくれるものがあると。以下のコマンドで一発です。
# yum groupinstall "Japanese Support"
ちなみにgrouplistで使えるグループ名が調べれます。
次に文字コードの指定をしないといけませんが、自分はユーザーアカウントの.bashrcに以下の設定を入れておきました。(システム全体のデフォルトを日本語にしてもいいけど、なんとなく)
LANG=ja_JP.UTF-8
export LANG
2.Chromeをいれよう
世の中のディストリビューションはほとんどブラウザはFireFoxです。個人的にChromeが好きなので、まずこれのインストールです。普通にgoogleのHPにいくとdebian版のdebパッケージしかありません。それではこまります。(rpmがない!)しかたないので、リポジトリに以下を追加します。
(1)/etc/yum.repos.d/google-chorme.repo を作成します。
(2)以下を入力
[google-chrome]
name=google-chrome - 32-bit
baseurl=http://dl.google.com/linux/chrome/rpm/stable/i386
enabled=1
gpgcheck=1
gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub
64bitの時はそれように内容を変更を。(x86_64とかね)
# yum list ‘*chrome*’
でインストール可能なものが表示されます。
google-chrome-beta
google-chrome-stable
google-chrome-unstable
の3つのバージョンがインストールできます。(まあ普通はstableをいれましょう)
3.Xのメニューを編集
Chromeをインストールしたんですが、2,3回失敗したせいかなんかメニューにアイコンが2個もついちゃいました(-_-;) 編集にはalacarteというコマンドを使いますが、デフォルトではインストールされていませんでした。しかたないのでyumでインストールしました。
ということで、かなり古いPCでもそこそこの速度で動く環境になりました。もう少し環境を整備しないと。
2013年2月3日日曜日
Androidプログラム開発-異機種開発に関して
Nexus7(4.2.1)でプログラム開発を行ってきましたが、もう一つ持っているGalaxy S2(4.0.3)でも動かすつもりで、プロジェクトを最初に作るときにベースラインのAPIを4.0.3にしてありました。
更にチャレンジとして、最初はWindows7、最後の調整はMac OSXで行いました。ちょっと文字コードが大丈夫かな?と思いましたが、SJISでプロジェクトを作成しても問題ありませんでした。(MacはEUCのはずだけど、問題でませんでした。)
ただちょっとGalaxyで困ったのが、USBケーブルを接続していて充電状態になってても、すぐに勝手にスリープしてスクリーンロックしてしまうことです。こうなると、デバッグはできないわ、MTPでのファイル転送も(Macでは)拒否されてしまいます。(不思議とWindowsではスクリーンロック状態でもファイル転送はできます。Macの方はデフォルトでMTP転送をサポートしてないので、特別のアプリを動かしていますが、そのせいか?)
一方、Nexus7は「開発者オプション」にUSBケーブルをつないで充電状態の場合、スリープしないというスイッチがあるので問題は起きません。(上から3つ目です)
Galaxy S2にも同様のものがあればよかったんですが、残念ながらありません。eclipseでAndroidアプリの開発を始めた最初はPC内のemulatorでやってたんですがこれが非常に遅い!Nexus7でデバッグしてみたら非常に快適でした。でもこれだとGalaxy S2のときのデバッグが困ります。色々、調べたんですが、USBケーブル接続時にスリープ禁止というスイッチはないようですが、かわりに思いついたのが「スクリーンロックしなければいい」ということです。これならば「セキュリティ」のところでスリープしてからスクリーンロックまでの時間(デフォルトは5秒のようです)を10分くらいにしてやれば、実用上問題ないでしょう。
あと、MacでGalaxyを使ってるとき困ったのがプログラムを動かすための設定ファイルを転送するときです。MacのMTPプログラムのせいかもしれませんが、Galaxyがすぐにスリープしてしまうせいか、いつも拒否されてしまいます。そこで最後の奥の手、昔の「USB接続モード」で転送してしまいました。Androidが4.0になってからこの方法は推奨されなくなったせいか、Nexus7にはそもそもこのモードがありません。Galaxyは昔はあったんですが、なんか設定メニューがだいぶ様変わりしてしまい、変な場所にありますが「無線とネットワーク」にスイッチがあります。
「USBユーティリティ」をタップしてやればPC接続モードにするか聞いてきます。
これで昔ながらUSB接続で安定してデータを送り込めます。
MTPはデータをPC側に吸い出すにはいいですが、送り込むのがちょっと面倒です。Macだけの問題かもしれませんが。
更にチャレンジとして、最初はWindows7、最後の調整はMac OSXで行いました。ちょっと文字コードが大丈夫かな?と思いましたが、SJISでプロジェクトを作成しても問題ありませんでした。(MacはEUCのはずだけど、問題でませんでした。)
ただちょっとGalaxyで困ったのが、USBケーブルを接続していて充電状態になってても、すぐに勝手にスリープしてスクリーンロックしてしまうことです。こうなると、デバッグはできないわ、MTPでのファイル転送も(Macでは)拒否されてしまいます。(不思議とWindowsではスクリーンロック状態でもファイル転送はできます。Macの方はデフォルトでMTP転送をサポートしてないので、特別のアプリを動かしていますが、そのせいか?)
一方、Nexus7は「開発者オプション」にUSBケーブルをつないで充電状態の場合、スリープしないというスイッチがあるので問題は起きません。(上から3つ目です)
Galaxy S2にも同様のものがあればよかったんですが、残念ながらありません。eclipseでAndroidアプリの開発を始めた最初はPC内のemulatorでやってたんですがこれが非常に遅い!Nexus7でデバッグしてみたら非常に快適でした。でもこれだとGalaxy S2のときのデバッグが困ります。色々、調べたんですが、USBケーブル接続時にスリープ禁止というスイッチはないようですが、かわりに思いついたのが「スクリーンロックしなければいい」ということです。これならば「セキュリティ」のところでスリープしてからスクリーンロックまでの時間(デフォルトは5秒のようです)を10分くらいにしてやれば、実用上問題ないでしょう。
あと、MacでGalaxyを使ってるとき困ったのがプログラムを動かすための設定ファイルを転送するときです。MacのMTPプログラムのせいかもしれませんが、Galaxyがすぐにスリープしてしまうせいか、いつも拒否されてしまいます。そこで最後の奥の手、昔の「USB接続モード」で転送してしまいました。Androidが4.0になってからこの方法は推奨されなくなったせいか、Nexus7にはそもそもこのモードがありません。Galaxyは昔はあったんですが、なんか設定メニューがだいぶ様変わりしてしまい、変な場所にありますが「無線とネットワーク」にスイッチがあります。
「USBユーティリティ」をタップしてやればPC接続モードにするか聞いてきます。
これで昔ながらUSB接続で安定してデータを送り込めます。
MTPはデータをPC側に吸い出すにはいいですが、送り込むのがちょっと面倒です。Macだけの問題かもしれませんが。
2013年2月2日土曜日
Raspberry Pi 電源On
さて、それでは早速周辺機器をつないで電源を入れます。ところで一緒にケースを頼んで入れたんですが、そうすると基板上のステータス表示用の4,5個あるLEDが見えません。問題が起きなければいいんですが、Web見てるとたまにSD上のimageがおかしくなってシステムが起動しなくなり、LEDが点滅して異常を表示するとか。そういうときに困ります。(RSコンポーネンツには透明なケースは見当たらなかったし)
初回はいきなりraspi-configが起動してくれますが、2回目からは手動のようです。(当然、root権限必要ですから、$ sudo raspi-config です。)
何はともあれ、「update」です。(このtool自体の更新です)結構、時間がかかりました。
次に、何はともあれ「expand-rootfs」で使えるSDカードの容量を増やさないと。再起動時に容量を増やしてくれます。(当然、時間はかかります)
あと、rootのパスワードは設定されていません。なのでno-passwordでsudoコマンドは使えますが、suはできません。気持ち悪かったら $ sudo passwd でrootにパスワードを設定してやりましょう。
キーボードはUS配列なのでそのままの設定で、次は時計と日本語の設定ですな。おっとそうそう、まずはシステムの更新、apt-get updateとupgradeしとかないと。
日本語の設定
まずは日本語フォントをインストール(何種類もありますが、適当に最低限必要そうなものを)
$ sudo apt-get install fonts-ipafont ttf-vlgothic xfonts-intl-japanese xfonts-intl-japanese-big
初回はいきなりraspi-configが起動してくれますが、2回目からは手動のようです。(当然、root権限必要ですから、$ sudo raspi-config です。)
何はともあれ、「update」です。(このtool自体の更新です)結構、時間がかかりました。
次に、何はともあれ「expand-rootfs」で使えるSDカードの容量を増やさないと。再起動時に容量を増やしてくれます。(当然、時間はかかります)
あと、rootのパスワードは設定されていません。なのでno-passwordでsudoコマンドは使えますが、suはできません。気持ち悪かったら $ sudo passwd でrootにパスワードを設定してやりましょう。
キーボードはUS配列なのでそのままの設定で、次は時計と日本語の設定ですな。おっとそうそう、まずはシステムの更新、apt-get updateとupgradeしとかないと。
日本語の設定
まずは日本語フォントをインストール(何種類もありますが、適当に最低限必要そうなものを)
$ sudo apt-get install fonts-ipafont ttf-vlgothic xfonts-intl-japanese xfonts-intl-japanese-big
次に日本語入力のパッケージをインストールします。
$ sudo apt-get install ibus-anthy
Ubuntuなんかで採用されてるやつです。起動方法は日本語キーボードをつけてるなら”半角/全角”キーで、USキーボードならCTRL+Spaceです。
次にシステムの文字コード設定です。
$ sudo dpkg-reconfigure locales
これで起動する画面(数秒かかるので注意)に文字コードのリストが出てくるので、デフォルトのen_GB.UTF-8以外に、ja_JP.EUCとかja_JP.UTF-8を追加。ここではja_JP.UTF-8をシステムのロケールにしてしまう。(本当ならen_US.UTF-8とかのほうが安全だろうけど。なにせエラーなんかの表示が出るとき、システムが日本語表示できない状態で、日本語の文字でエラー表示されると変な記号に化けて出力される経験なんどかしてるし。。。)
$ sudo reboot で再起動。Xのメニューも日本語になっています。
$ sudo reboot で再起動。Xのメニューも日本語になっています。
あとデフォルトのbrowserがいけてない。日本語でないし、やはりchromeが。でも対応版がないので、chromiumで我慢。
$ sudo apt-get install chromium-browser
これでOK。
日本語がchromiumに表示されるようになったが、日本語入力できない!Anthyが起動しない。Xの画面右下のインプットメソッドを調べてみると、オフで何も手段が設定されていない。自分でAnthyを登録しないとだめだった。しかも日本語入力ができるようになるまでが、遅い!!2,3秒かかる。
$ sudo apt-get install chromium-browser
これでOK。
日本語がchromiumに表示されるようになったが、日本語入力できない!Anthyが起動しない。Xの画面右下のインプットメソッドを調べてみると、オフで何も手段が設定されていない。自分でAnthyを登録しないとだめだった。しかも日本語入力ができるようになるまでが、遅い!!2,3秒かかる。
やっぱシステムがHDDじゃなくmicroSDなんで、普通のHDDのLinuxシステムの様にはいきません。(それにこの程度のARMではX画面はきつそう。)
CPUパワーの比較をちょっと考えてみよう。(無難にベンチマークでも動かしてみるか。ストレージ関係のパフォーマンスは見ない方がいいだろうし。)
PS.
やっぱりシステムのデフォルト文字コードを日本語にするのはまずかったです。システムのデフォルトをjp_JP.UTF-8にしたら、raspi-configの文字列が化け化けになりました。結局、システムのデフォルトをen_US.UTF-8に戻しました。(一時的に、LANG=en_US.UTF8と環境設定して、設定を戻しました。でも日本語フォントが入っているのと、一度は日本語入力メソッドを設定したおかげか、en_USのままでも日本語使えてます)
キーボードに101使っているんですが、どうも数字のシフトにある記号が化けてうまく入力できなかったんです。raspi-configでキーボードの設定を見直してると、English以外に”Happy Hacking Keybord"の選択が!!(こいつをまさに使ってます)何かスキャンコードが違うんですかね、しかもこれにしてもさらに追加の設定でデフォルトだと"English(UK)"ではダメで、"English(US)"を選択してやらないと記号入力がうまくできませんでした。
2013年1月30日水曜日
Raspberry Pi到着~
昨年から気になってましたが、今年になって出荷等そろそろ落ち着いたかなと考えて、Raspberry Piを注文しました。ARMだったらスマホ等でプログラムを試してみてるんだけど、面白そうだしね。さて注文方法ですが、昨年夏くらいから注文が殺到して、全然届かない~~という記事多数でした。なんか裏道の注文方法とかも紹介されてましたが、おとなしくRS コンポーネンツで注文しました。(文句の記事が多いということは、それだけ利用者も多いということだろうし)
問題は代金の支払い方法です。海外なのでクレカくらいしかないんですが、相手の会社よくわからないし・・・抵抗感つよいんですよね。なので、次善の策として避けてはいたんですがPay Pal登録しました。海外通販してるとクレカかPay Palになることが多いです。Pay Palが安心できるかと言われると何とも言えませんが、一応個人情報が漏れたという話は聞いてないので大丈夫でしょうと。(なんかPay Palから業者への支払いって、すごいタイムラグがありひどいそうだという話も聞いてます。それもあっていい感じを持ってなかったんですが、クレカの情報を海外の業者に渡すのは避けたい・・・国内ならコンビニ決済してくれるところも多いんですが。)
2週間ほどほっといたら届きました!
Webでもよく見る、RSコンポーネンツのパッケージです。今回はケースも一緒に頼みました。
ケースは白い箱、本体はピンクのプラスチック・ケースに入ってます。
さて基板のチェックです。以前みたWebで、ハンダ割れがあったとか(;°ロ°) 入念にチェックしますが、特に問題は見つかりませんでした。
その後、近くの量販店で32GBのmicroSDHDを購入し、RaspbianをDL、SDにイメージを焼いて(ちょっと表現がへんな気もしますが)電源を入れると、無事起動してくれました。
さて周辺機器ですが、もともと家にHDMIのモニタは2台ありますし、USBキーボード(USタイプ多数)、マウスも余っています。問題は電源です。5V, 0.7A必要とのことですが、最初はNexus7用の電源(2Aあります)で、次からはiPadの電源ユニットでやってます。(iPad2台あって、古い方はほとんど使ってない)
使い勝手のレポートは次回に。
問題は代金の支払い方法です。海外なのでクレカくらいしかないんですが、相手の会社よくわからないし・・・抵抗感つよいんですよね。なので、次善の策として避けてはいたんですがPay Pal登録しました。海外通販してるとクレカかPay Palになることが多いです。Pay Palが安心できるかと言われると何とも言えませんが、一応個人情報が漏れたという話は聞いてないので大丈夫でしょうと。(なんかPay Palから業者への支払いって、すごいタイムラグがありひどいそうだという話も聞いてます。それもあっていい感じを持ってなかったんですが、クレカの情報を海外の業者に渡すのは避けたい・・・国内ならコンビニ決済してくれるところも多いんですが。)
2週間ほどほっといたら届きました!
Webでもよく見る、RSコンポーネンツのパッケージです。今回はケースも一緒に頼みました。
ケースは白い箱、本体はピンクのプラスチック・ケースに入ってます。
さて基板のチェックです。以前みたWebで、ハンダ割れがあったとか(;°ロ°) 入念にチェックしますが、特に問題は見つかりませんでした。
その後、近くの量販店で32GBのmicroSDHDを購入し、RaspbianをDL、SDにイメージを焼いて(ちょっと表現がへんな気もしますが)電源を入れると、無事起動してくれました。
さて周辺機器ですが、もともと家にHDMIのモニタは2台ありますし、USBキーボード(USタイプ多数)、マウスも余っています。問題は電源です。5V, 0.7A必要とのことですが、最初はNexus7用の電源(2Aあります)で、次からはiPadの電源ユニットでやってます。(iPad2台あって、古い方はほとんど使ってない)
使い勝手のレポートは次回に。
2013年1月19日土曜日
初めてのeclipseでc++ プログラミング
これまで散々、C++プログラム作ってきましたが、基本Linuxとかでemacs使うのがほとんでした。(makefileは毎回自作)あるいは、WindowsでVisual Studioだったので、eclipseでC++のプログラム作成/デバッグをしたことがありませんでした。
gdbでデバッグは十分だったんですが、やはりLinuxでも統合環境の使い方覚えといたほうがいいだろうと思い直し、eclipseでC++プログラミングをしてみることにしました。(eclipseでJavaは随分やってきたんですけどね)
最初に悩んだのが、「Makefileどうしたらいいんだ?」ということです。調べてみると、基本的には自動的に作成してくれるようです。(既存のコードをeclipse管理下において、自分でMakefile作成という方法もあるそうです)今回は、とりあえずc++プログラミングとデバッグをしてみたかったので、自動生成で作ってみました。
1.プロジェクトの作成
Linux(Ubuntu)の環境でeclipse+CDTを用意します。そこでまず、C++プロジェクトを作成します。
こんなダイアログがでてきます。"Makefile project"がおそらく自分でMakefileを作成するものなんだろうと思いますが、今回は素直にデフォルトで選択されてるExecutableのEmpty Projectを選択します。(ちなみにCross GCCというのは、ARM等の異なるCPU用にプロジェクトを作成するためのものです)
プロジェクト(StringSample)を作成した直後です。なんと、srcフォルダすらありません。
2.コード作成
まず、自分でsrcフォルダを作成し(このあたりは自分の好みの構成で)、main.cppを作成します。
(単に"Hello!"を出力するだけのお約束のコードを書きました)
さて実はここで問題が起きることがあります。この"cout"が解決できない(not resolved)と言われることが多々あります。ググってみると、結構みんな悩んでいるようです。
あまりに単純な問題で、なんで?と思ってしまうんですが解決方法は簡単です。それはいったんeclipseを終了して、再度実行すればあら不思議、解決されています。どうも、eclipseの反応がにぶいせいのようです。(プロジェクトをいったんcloseして、再openしてもいいようです。)
3.Makefileの作成
さて、コードはできましたがMakefileができてません。どうしたらいいのかと悩んだのですが、右クリックで、Build Configuration→Build Allで自動的に作成してくれます。
これでMakefileを作成してくれて、Buildまでしてくれます。
Buildが成功しました。
今後、ソースファイルが増えてったらどうなるかまだこれからですが、多分Build Configurationで自動的にやってくれるんだろうと思います。(今回はDebugでやりましたが、Release用のMakefileもできちゃってます)
gdbでデバッグは十分だったんですが、やはりLinuxでも統合環境の使い方覚えといたほうがいいだろうと思い直し、eclipseでC++プログラミングをしてみることにしました。(eclipseでJavaは随分やってきたんですけどね)
最初に悩んだのが、「Makefileどうしたらいいんだ?」ということです。調べてみると、基本的には自動的に作成してくれるようです。(既存のコードをeclipse管理下において、自分でMakefile作成という方法もあるそうです)今回は、とりあえずc++プログラミングとデバッグをしてみたかったので、自動生成で作ってみました。
1.プロジェクトの作成
Linux(Ubuntu)の環境でeclipse+CDTを用意します。そこでまず、C++プロジェクトを作成します。
こんなダイアログがでてきます。"Makefile project"がおそらく自分でMakefileを作成するものなんだろうと思いますが、今回は素直にデフォルトで選択されてるExecutableのEmpty Projectを選択します。(ちなみにCross GCCというのは、ARM等の異なるCPU用にプロジェクトを作成するためのものです)
プロジェクト(StringSample)を作成した直後です。なんと、srcフォルダすらありません。
2.コード作成
まず、自分でsrcフォルダを作成し(このあたりは自分の好みの構成で)、main.cppを作成します。
(単に"Hello!"を出力するだけのお約束のコードを書きました)
さて実はここで問題が起きることがあります。この"cout"が解決できない(not resolved)と言われることが多々あります。ググってみると、結構みんな悩んでいるようです。
あまりに単純な問題で、なんで?と思ってしまうんですが解決方法は簡単です。それはいったんeclipseを終了して、再度実行すればあら不思議、解決されています。どうも、eclipseの反応がにぶいせいのようです。(プロジェクトをいったんcloseして、再openしてもいいようです。)
3.Makefileの作成
さて、コードはできましたがMakefileができてません。どうしたらいいのかと悩んだのですが、右クリックで、Build Configuration→Build Allで自動的に作成してくれます。
これでMakefileを作成してくれて、Buildまでしてくれます。
Buildが成功しました。
今後、ソースファイルが増えてったらどうなるかまだこれからですが、多分Build Configurationで自動的にやってくれるんだろうと思います。(今回はDebugでやりましたが、Release用のMakefileもできちゃってます)
登録:
投稿 (Atom)











