2011-01-01から1年間の記事一覧

ruby-mingwでOpenGLモジュールビルドのメモ

RubyInstaller対応のOpenGLモジュールビルドで苦労した件について。使ったruby > ruby --version ruby 1.9.2p180 (2011-02-18) [i386-mingw32] glut DevKitでビルド http://vision.kuee.kyoto-u.ac.jp/~nob/doc/opengl/opengl.html#doc1_42 mkrf-0.2.3 mingw…

numpy野良ビルド

Windows版python-2.7-amd64向けのnumpyをビルドした手順。環境 Windows7 64bit C:\Python27に64bitの方がインストールされている C:\Program Files (x86)\Microsoft Visual Studio 9.0(Visual C++ 2008 Express Edition) C:\Program Files (x86)\Microsoft V…

同名で違う場所のexeに関連付けする方法

前から、Windowsの関連付けで .pywをC:\python32\pythonw.exe に関連付けると、 あとからC:\Python27\pythonw.exeに関連付けを変えることができずに 関連付け先のPythonw.exeがC:\Python32\pythonw.exeにロックされるという挙動に悩まされていた。のだがレジ…

文字コードの違うextなデバイスをマウントする

vfatとかsambaと違ってextには文字コードを指定してマウントするオプションが無い。 とりあえずそのままマウントしてから、 http://fuse-convmvfs.sourceforge.net/ で文字コードを指定して別の場所に再マウントした。sjisのディスク(ext3)を/mnt/tmpにマウ…

tolua++のクラス登録解読メモ

lua

なんかいろいろやっているっぽい。実験コード sample.pkg $#include "sample.h" module sample { struct Object { int counter_; }; class Factory { Factory(); ~Factory(); Object* create(); }; }sample.cpp #include "sample.h" #include <iostream> Object::Objec</iostream>…

coroutineのデバッグ情報の取り方

lua

local co=coroutine.create(f) local success, msg=coroutine.resume(co, arg1, arg2, arg3) if not success then print(msg) error(debug.traceback(co)) end 重要。無いとデバッグ大変

scons on windows その6(独自Toolの定義)

カスタムのツールを定義するには、pythonスクリプトを所定の位置に置いてexistsとgenerateの2つの関数を定義すればいい。$HOME/.scons/site_scons/site_tools/msvc10.py import os vs_path='C:\\Program Files (x86)\\Microsoft Visual Studio 10.0' vc_pat…

scons on windows その5(64bit build)

vc2010 express editionをwindows7(64bit)にインストールしている場合 import os vs_path='C:\\Program Files (x86)\\Microsoft Visual Studio 10.0' vc_path=vs_path+'\\VC' sdk_path='C:\\Program Files\\Microsoft SDKs\\Windows\\v7.1' AddOption('--arc…

scons on windows その3(Tool)

sconsにはToolという概念があって、これがコンパイラやリンカのセットを表している。WindowsだとvcやMinGWなどがあり、Linuxだとgccだ。さらに32bitと64bitがあるのでWindowsのCは環境がいろいろあるぞと。 # 無指定 env = Environment() # Default。たぶん…

scons on windows その2(tolua++のSConstructを読む)

tolua++がSConstructを使っているので読んでみる。 とりあえずビルドしてみる。 「Visual studio コマンドプロンプト」で開始。 > cd \work\tolua++-1.0.93 > scons scons: Reading SConscript files ... scons: warning: The Options class is deprecated; …

scons on windows その1

blenderとかtolua++のビルドシステムに使われているsconsを調べているのでメモ。sconsはプロジェクトビルドのうち、makeの機能を代替するpython製のツールだ。依存性を解決してコンパイラを呼び出して、リンカを呼び出すというあれ。blenderだとsconsに加え…

scons on windows その4(Blender)

blenderのsconsをvc10対応させる --- build_files/scons/tools/mstoolkit.py (リビジョン 35779) +++ build_files/scons/tools/mstoolkit.py (作業コピー) @@ -67,6 +67,8 @@ # look for toolkit if os.environ.has_key('VCToolkitInstallDir'): MSToolkitDi…

自動ビルドツールを作った

名付けてcross compile scripthttps://github.com/ousttrue/ccsgentooのemergeみたいに依存性を解決して自動でアプリをビルドするツールです。luaで記述しております。当初は、もっとクロスコンパイル(Linux to Mingwとか)になる予定だったのだけど、主にMsy…

tolua++その4(hook関数)

lua

http://www.codenix.com/~tolua/tolua++.html#customizingtoluaコマンドの"-L"オプションでhook関数を上書きできる(元は、basic.luaに空の関数が書いてある)。 doit.lua:doit() ↓ package.lua:Package() ↓ preprocess_hook(p) ↓ p:preprocess() ↓ preparse_h…

括弧の対応を取るパターンマッチ

lua

toluaのソース読んでいたら"%b"なんてのがあった。入れ子になった括弧の対応を取ってくれるのでこりゃ便利だ。 http://www.lua.org/manual/5.1/manual.html#5.4.1 にはメタ文字の一覧から外れたところに、balanced parenthesesとして書いてある。 local code…

tolua++その3(動作)

lua

とりあえず簡単なパッケージファイルからcppソースを出力させて動作を追ってみる。 使用するパッケージファイルsample.pkg namespace sample { class Hoge{ void fuga(); }; } toluaする $ ./tolua sample.pkg 生成されたコード。"//"コメントはdoit関数内の…

tolua++その5(class構成)

lua

toluaの本体はmetatableを使用して、classFeatureをrootとした継承ツリーを構成している。 feature.lua:classFeature +function.lua:functionClass +operator.lua +decraration.lua +array.lua +variable.lua +define.lua +code.lua +verbatim.lua +enumerat…

tolua++その1(構成)

lua

http://www.codenix.com/~tolua/luaの便利c++バインダーであるところのtolua++についてのメモ。 構成 tolua++は、tolua++コマンドとそのコマンドで生成したコードをコンパイルしてリンクするのに必要なライブラリ部分でできている。こんな感じ ライブラリ部 …

tolua++その2(コマンド動作)

lua

http://www.codenix.com/~tolua/toluaの動作について。 コンパイルせずにlua本家http://www.lua.org/download.htmlのインタプリタでtoluaの埋め込みスクリプトが動くものを書いてみた。src/bin/tolua.cをluaに移しただけ。 #!/usr/bin/lua TOLUA_VERSION="to…

ffmpegビルドしてみた

msysのprコマンド調達について http://www.up-cat.net/%25BA%25A3%25B9%25B9MinGW%2B2009%252E06%25284%2529%2BMSYS%252CmsysDTK.html Error: operand type mismatch for `cmp' について http://ameblo.jp/shuz096/entry-10645678971.htmlmingw-w64-1.0-bin_…

gitでThe remote end hung up unexpectedly

$ git config --global core.autocrlf false で直ったらしい。 因果は関係あるのか?

cygwinのmingw64を試してみる

大間違いしていた $ mkdir -p /mingw64/bin $ cd /mingw64/bin $ for f in /usr/bin/x86_64-w64-mingw32-*;do ln -s $f `echo $f | sed -e 's/.*x86_64-w64-mingw32-//'`;done こうあるべき。autotools的には、arch-pc-osみたいな命名だったはずなので、arch…

久しぶりにIrrlicht弄ってみる

1.7.2ゲット。 http://irrlicht.sourceforge.net/downloads.html とりあえずmakeしてみる $ unzip irrlicht-1.7.2.zip $ cd irrlicht-1.7.2 $ cd source/Irrlicht $ make MinGWだと、デバッグライブラリが無いと文句言われた。 コメントアウトしたが、どっか…

SDL-1.3を使ってみる

sdl

開発版のSDL-1.3だとマルチウィンドウにも対応しているそうなのでどうやるか調べてみる。とりあえずサンプルプログラムで動作を確認してみた。 $ cd SDL-1.3.0-5003 $ ./configure $ make $ sudo make install $ cd test $ ./configure $ make $ ./testwm2 -…

イテレータ メモ

lua

必要に応じて複数の要素を消費するloopのメモ。 #!/usr/bin/env lua function process(file) local f=assert(io.open(file, "rb")) print("process:", file) local _f, _s, _var=string.gmatch(f:read("*all"), "(.-)\r?\n") while true do local line=_f(_s…