スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

EclipseでEGit使う。gH

EclipseにEGitを入れる


省略


EGitが入りました。


EGitの使い方


1. The Project


はい、プロジェクトを作りました。
project


2. The Remote


GithubあたりにGitリモートリポジトリを作ります。
以下参照。
とても便利なサイト


3. The Register


プロジェクトを右クリックはい。
Team > Share Project
share-pro


Gitを選択してNext。
select-git


RepositoryにはGitのデータを置くディレクトリを指定。
適当な場所でいいです、デスクトップ上のディレクトリでもいいです。
Repositoryを入力すると他が自動入力されます。
place-git


ローカルリポジトリができました。


4. The Push


はい、プロジェクトを、はい右クリック。
commit-git
はい、Team > Commit


メッセージを入力。 “Initilize.”
[Commit]ボタンをおすっ!!
commit2-git


ここでGitのリモートリポジトリのクローンURLをURIに入力します。
便利



uri-git

uri-git



Authenticationに自分のGithubアカウント情報を入力。
Store in Secure Storeへのチェックは…とりあえずしておく。
>> [Next]


Source refにはmasterを選択しておきます。
ref-git
>> [Finish]!!


$. The End


できたっ!!
end-git


おわり。

スポンサーサイト

すんませんVrapperなめてましたの話

すんませんVrapperなめてましたの話




Vrapperとは


Java, C/C++, Python, etc用統合開発環境(IDE)であるEclipseの中の 組み込みエディタでVimと同じ操作を可能とするものである。



  • Vrapperを使う理由

  • EclipseでVimを使えるのなら、もう何も怖くない


Vrapperをなめていた理由



  • 「Vrapper使ってみたけど、あくまでVim風の操作を提供するだけでvimrc読み込めないじゃーん。 自分好みの操作を定義できないじゃーん」


悔い改め



  • 「Vrapperって、Vrapper用の設定ファイルをvimrcと同じように書けたのですねっ!?!? すみませんでしたっ!!」


使う手順


まずVrapper入れる


Eclipse開く ->
Help > Install New Software >


それっぽいところに入力してAdd
Work with: http://vrapper.sourceforge.net/update-site/stable


hogeahogahogehaoigehaoighehogaahogeahoge

これ入れる。
流れに乗る。(インストールしていく)


EclipseのVimっぽい操作に競合するキーバインドを破壊する


Window > Preferences >
General > Keys >
だいたいCtrl+(hoge)系が競合するので削除削除サクジョォォォォ!!!



  • だいたいこんなん

  • Ctrl+F

  • Ctrl+B

  • Ctrl+N

  • Ctrl+P

  • Ctrl+I

  • Ctrl+J

  • Ctrl+W

  • Ctrl+V

  • Ctrl+C ( 僕の場合後でにマップしたいからっ )

  • Ctrl+A

  • Ctrl+X


これらを画面下部にある[Unbind Command]でアンバインド。


悔い改める ( Vrapperの設定ファイルを書く )


ホームディレクトリに.vrapperrcというファイルを書けば 勝手にEclipse起動時に読み込んでくれます。 すごい、benri-。




こんなん
nnoremap <Up>    <NOP>
nnoremap <Down> <NOP>
nnoremap <Left> <NOP>
nnoremap <Right> <NOP>
inoremap <Up> <NOP>
inoremap <Down> <NOP>
inoremap <Left> <NOP>
inoremap <Right> <NOP>
cnoremap <Left> <NOP>
cnoremap <Right> <NOP>

nmap <C-j> <CR>
imap <C-j> <CR>

cnoremap <C-b> <Left>
cnoremap <C-f> <Right>
cnoremap <C-a> <Home>
cnoremap <C-h> <Backspace>
cnoremap <C-d> <Del>
cnoremap <C-e> <End>

inoremap <C-l> <Esc>
vnoremap <C-l> <Esc>
cnoremap <C-l> <Esc>

inoremap <C-k><C-l> <Esc>




Eclipseが来た



GCCの最新バージョンをインストールする。

gcc最新バージョンのビルドインストール


なお現時点の最新バージョンは多分4.9です。

    この記事を読むにあたって必要なもの
  • ある程度ビルドインストールの流れを知っていること

  • マシンのバックアップとレストアができること(推奨)
    => make installではパッケージマネージャに履歴が残りません。


    この記事でわかること
  • 公式のgitにあるgccのビルド方法

  • update-alternativesの簡単な使い方

  • gccの「致命的エラー: iostream: そのようなファイルや…」の暫定的解決方法


    この記事ではわからないこと
  • パッケージマネージャを使ったgccのインストール方法



この記事でなにかが起こったとしても自己責任でお願いします。
文中の「x86_64」や「lib64」等は各自環境に読み替えてください。

よーし、じゃあビルドするぞー。

ネット回線に余裕のある方はこの時点からgccをgit cloneしておいた方がいいかもしれません。
ここに書いてあるgitのURLをクローンします。
$ git clone git://gcc.gnu.org/git/gcc.git

私的にはtmux等のターミナルマルチプレクサーを使って進行状況をチェックした方がいいと思いますが、
バックグラウンドでクローンするには以下のコマンドです。(エラー以外出力されません)
$ git clone git://gcc.gnu.org/git/gcc.git > /dev/null &



まずは必要になる別途のソフトウェアをインストールしていきます。(参考サイト様)
    configureに必要になるライブラリ類(make install)
  1. gmp -> http://gmplib.org/

  2. mpfr -> http://www.mpfr.org/

  3. mpc -> http://www.multiprecision.org/


    1. これを上から順にビルドインストールしていきます。
      操作は参考サイトさまを見てください。
      参考程度にも私の操作を載せておきます。
      (lzipを解凍)
      $ dpkg -l | grep lzip
      $ sudo apt-get install -y lzip (上記コマンドで表示が何もなければ)
      $ tar xvf (対象).tar.lz --lzip

      (gzipを解凍)
      $ tar zxvf (対象).tar.gz

      (bzip2を解凍)
      $ tar jxvf (対象).tar.bz2


      ビルド例:
      $ tar xvf gmp-6.0.0.tar.lz --lzip
      $ cd gmp-6.0.0/
      $ mkdir makedir # ビルドするディレクトリを作成
      $ cd makedir
      $ ../configure
      $ make
      $ sudo make install
      $ cd ../..
      $ tar jcvf gmp-6.0.0_made.tar.bz2 gmp-6.0.0/ # make uninstall用にバックアップ
      $ rm -rf gmp-6.0.0/



      次にaptからパッケージのインストールを行います。
        makeに必要になるライブラリ類
      1. bison

      2. flex

      3. zlibg1-dev


      余談ですが、私はここでこれをインストールしてみました。

      $ sudo apt-get install bison flex zlibg1-dev


      では等々GCCのビルドに入ります。
      makeに数時間を要しますのでご注意を。(私は3,4時間程度かかりました)
      なお、configureに渡しているオプションは各々編集してください。
      以下のものは私の例です。
      ビルド対象からJava, Go言語, D言語等外しています。
      $ cd (git cloneしたディレクトリ)
      $ mkdir makedir
      $ ../configure \
      --with-pkgversion='Ubuntu/Linaro 4.9-10ubuntu9' \
      --with-bugurl=file:///usr/share/doc/gcc-4.9/README.Bugs \
      --enable-languages=c,c++,objc,obj-c++ \
      --prefix=/usr \
      --program-suffix=-4.9 \
      --enable-shared \
      --enable-linker-build-id \
      --libexecdir=/usr/lib \
      --without-included-gettext \
      --enable-threads=posix \
      --with-gxx-include-dir=/usr/include/c++/4.9 \
      --libdir=/usr/lib \
      --enable-nls \
      --with-sysroot=/ \
      --enable-clocale=gnu \
      --enable-libstdcxx-debug \
      --enable-libstdcxx-time=yes \
      --enable-gnu-unique-object \
      --enable-plugin \
      --with-system-zlib \
      --disable-browser-plugin \
      --enable-java-awt=gtk \
      --enable-gtk-cairo \
      --enable-java-home \
      --with-arch-directory=amd64 \
      --enable-objc-gc \
      --enable-multiarch \
      --disable-werror \
      --with-arch-32=i686 \
      --with-abi=m64 \
      --with-multilib-list=m32,m64,mx32 \
      --with-tune=generic \
      --enable-checking=release \
      --build=x86_64-linux-gnu \
      --host=x86_64-linux-gnu \
      --target=x86_64-linux-gnu
      $ make
      $ sudo make install
      $ cd ../../
      $ tar jcvf gcc_v4.9_made.tar.bz2
      $ rm -rf gcc


      お疲れさまです!!
      以上でビルドインストールは終了です!
      さてg++あたりの調子を見てみましょうか。
      $ cat << EOF >> Hello.cpp
      #include <iostream>
      int main(){
      std::cout << "Hello World!!" << std::endl;
      }
      EOF

      $ g++-4.9 Hello.cpp
      Hello.cpp:1:20: 致命的エラー: iostream: そのようなファイルやディレクトリはありません
      #include <iostream>
      ^
      コンパイルを停止しました。

      おおっと!! なにか異常が起きているようです。
      あなたの環境でも異常がおきていなければいいのですが…。
      $ g++-4.9 -E -x cpp - -v < /dev/null
      :
      :
      存在しないディレクトリ "usr/include/c++/4.9" を無視します
      存在しないディレクトリ "usr/include/c++/4.9/x86_64-linux-gnu" を無視します
      存在しないディレクトリ "usr/include/c++/4.9/backward" を無視します
      存在しないディレクトリ "/usr/local/include/x86_64-linux-gnu" を無視します
      存在しないディレクトリ "/usr/lib/gcc/x86_64-linux-gnu/4.9.0/../../../../x86_64-linux-gnu/include" を無視します
      #include "..." の探索はここから始まります:
      #include <...> の探索はここから始まります:
      /usr/include/c++/4.9
      /usr/include/c++/4.9/x86_64-linux-gnu
      :
      :

      あらまあ、なぜかC++ヘッダのインクルードパスが相対パス指定になっています。
      どこか間違えたっけ?
      以下暫定的処置。
      $ echo "alias g++='g++ -I/usr/include/c++/4.9 -I/usr/include/c++/x86_64-linux-gnu -std=c++11'" >> ~/.bashrc



      次に[g++-4.9コマンド]でなく[g++コマンド]でg++4.9を使えるように設定します。
      参考サイト様です。
      $ sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.9 49



      はい、これであなたはg++4.9を扱うことができます!



      これでg++4.9で扱えなかった<regex>ヘッダも使えるね!!


      追記:
      これだとmake等の場合に失敗しますね。
      こうしましょう。
      $ cd /usr/bin
      $ sudoedit g++-4.9-mod.sh

      (内容)

      #!/bin/sh
      g++ -I/usr/include/c++/4.9 -I/usr/include/c++/4.9/x86_64-linux-gnu $@

      $ sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.9-mod.sh 49

      これで(多分)make時にも対処できます。(できました。)
      あ、ちょっとまってできてないまって!!!


      追記:
      できました。
      $ echo 'export CPLUS_INCLUDE_PATH=/usr/include/c++/4.9:/usr/include/c++/4.9/x86_64-linux-gnu' >> ~/.bash_profile
      としておきましょう。

      そしてg++-4.9にてビルドしたバイナリを実行してみるとlibstdc++.so.6にGLIBCXX_3.4.20がないと言われます。
      $ ./hoge 
      ./hoge: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by ./hoge)

      本当に無いのかは以下で確認できます。
      $ strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6
      GLIBCXX_3.4
      GLIBCXX_3.4.1
      GLIBCXX_3.4.2
      GLIBCXX_3.4.3
      GLIBCXX_3.4.4
      GLIBCXX_3.4.5
      GLIBCXX_3.4.6
      GLIBCXX_3.4.7
      GLIBCXX_3.4.8
      GLIBCXX_3.4.9
      GLIBCXX_3.4.10
      GLIBCXX_3.4.11
      GLIBCXX_3.4.12
      GLIBCXX_3.4.13
      GLIBCXX_3.4.14
      GLIBCXX_3.4.15
      GLIBCXX_3.4.16
      GLIBCXX_3.4.17
      GLIBCXX_3.4.18
      GLIBCXX_3.4.19
      GLIBCXX_3.4.20
      GLIBC_2.3
      GLIBC_2.2.5
      GLIBC_2.14
      GLIBC_2.17
      GLIBC_2.3.2
      GLIBCXX_DEBUG_MESSAGE_LENGTH

      …ないですね。

      $ strings /usr/lib64/libstdc++.so.6
      GLIBCXX_3.4
      GLIBCXX_3.4.1
      GLIBCXX_3.4.2
      GLIBCXX_3.4.3
      GLIBCXX_3.4.4
      GLIBCXX_3.4.5
      GLIBCXX_3.4.6
      GLIBCXX_3.4.7
      GLIBCXX_3.4.8
      GLIBCXX_3.4.9
      GLIBCXX_3.4.10
      GLIBCXX_3.4.11
      GLIBCXX_3.4.12
      GLIBCXX_3.4.13
      GLIBCXX_3.4.14
      GLIBCXX_3.4.15
      GLIBCXX_3.4.16
      GLIBCXX_3.4.17
      GLIBCXX_3.4.18
      GLIBCXX_3.4.19
      GLIBCXX_3.4.20
      GLIBC_2.3
      GLIBC_2.2.5
      GLIBC_2.14
      GLIBC_2.17
      GLIBC_2.3.2
      GLIBCXX_DEBUG_MESSAGE_LENGTH

      …ありますね。

      ということで、
      これはちょっと危険な行為ですがこうすれば実行時エラーも防げます。
      $ sudo mv libstdc++.so.6 libstdc++.so.6.bak
      $ sudo mv libstdc++.so.6.0.18 libstdc++.so.6.0.18.bak
      $ sudo ln -s /usr/lib64/libstdc++.so.6 .
      $ sudo ln -s libstdc++.so.6 libstdc++.so.6.0.20

      そしてシェルを再読み込み。(exit & シェル再起動)

      以上で多分素敵な最新GCC環境をお楽しみいただけます!
      楽しんでください!!
      僕も楽しむ!!
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。