あかすくぱるふぇ

同人サークル「あかすくぱるふぇ」のブログです。

ググったらプラグインとか使い方とか色々出てくるんですが、いきなりアレも
コレもというのは気持ち悪いんで、最低限必要そうなものを抽出してみました。


・NeoBundle
Vimのプラグイン管理ツールです。

下記記事を参照して、neobundle.vimを配置します。
http://qiita.com/muran001/items/3080c4816b7c2e65e40b

.vimrcの"NeoBundle ***" のところに入れたいプラグインを書いて、
vim上で:NeoBundleInstallとコマンドするだけでプラグインが入ります。


・clang_complete
コード補完プラグインです。
.vimrcにNeoBundle 'Rip-Rip/clang_complete'と書いてインストール。
なお、clangというコンパイラが必要なので、なければapt-getとかで入れます。
あと、インクルードパスの設定については以下の記事を参照してください。
http://tatsukawa.hatenablog.com/entry/2014/12/26/031050


・ctags
関数などの定義に飛ぶために使います。
以下の記事を参照して導入してください。
http://qiita.com/lazynick/items/6934341f135b1a8d2fe2


・Vim、シェルの操作
Vimを開いた後、Ctrl+Zでシェルに戻れ、fgコマンドでまたVimに戻れます。
":sp ファイル名"で画面分割して複数のファイルを同時に開けます。


あとはcmakeとかでビルドできれば、とりあえずVisual Studioでのコーディングと
実行の手順は再現できるのではないでしょうか。

デバッグはしらね(えぇ…

共有ライブラリは、"lib****.so", "lib****.so.バージョン番号"という名前のファイル。
"lib****.so.バージョン番号"がライブラリ本体であり、"lib****.so"はライブラリ本体へのリンク。
gccのオプションで-l****とすると、"lib****.so"からリンクを辿って、"lib****.so.バージョン番号"が読み込まれる。
このような構造にすることで、バージョンの違いを吸収できる。

共有ライブラリのパスは、/lib, /usr/lib, $LD_LIBRARY_PATH, /etc/ld.so.confに書いたディレクトリである。
ただし、OSは/etc/ld.so.confを直接参照せずに、/etc/ld.so.cacheを参照するので、
/etc/ld.so.confの中身を変更した場合は、ldconfigコマンドでその中身を/etc/ld.so.cacheに反映させる。

pkg-configを利用することでヘッダやライブラリの指定を簡略化することができる。
例えば、OpenCVの場合、"pkg-config --cflags opencv"で"-I /opt/local/include/opencv"、
"pkg-config --libs opencv"で"-L /opt/local/lib -lml -lcvaux -lhighgui -lcv -lcxcore"と
リストアップすることができる。
この処理は、(ライブラリ作成者によって提供される).pcファイルを参照することによって行われる。
.pcファイルのパスは環境変数PKG_CONFIG_PATHに設定する。

・参考記事
https://www.glamenv-septzen.net/nifty/others/computer/linux_ldd01.html

http://archive.linux.or.jp/JF/JFdocs/Program-Library-HOWTO/shared-libraries.html

http://linux.dogrow.net/?p=25

http://www.yasutomo57jp.com/2010/09/01/linux%E3%81%A7opencv%E3%82%92%E5%85%A5%E3%82%8C%E3%81%A6%E9%81%A9%E5%BD%93%E3%81%AA%E3%82%B3%E3%83%BC%E3%83%89%E3%82%92%E3%82%B3%E3%83%B3%E3%83%91%E3%82%A4%E3%83%AB%E3%81%99%E3%82%8B%E3%81%BE%E3%81%A7/

↑このページのトップヘ