読者です 読者をやめる 読者になる 読者になる

Qtを利用して作成したexeを再頒布可能にする

Qtを利用して作成したappを再頒布可能にする - とあるぼっちの生存報告のWindows向けのお話. windeployqtを利用する. windeployqt.exe [exeのあるディレクトリパス] 上記を実行する事で必要なdllなどが該当ディレクトリに用意される. QtCreator上のビルド設…

Qtを利用して作成したappを再頒布可能にする

よく忘れるので. QtのSDKのインストールディレクトリのbin内にあるmacdeployqtを利用すると良い. > /path/to/you/QtSDK/bin/macdeployqt /path/to/you/Target.app とすればTarget.appを他の人の環境に持っていっても動作要件を満たしていれば動く. > /path/t…

オーディオプラグの抜き差しの検知

iOSでヘッドフォン(ヘッドセットではない)が接続されているか否かを判断する方法. ルーティング変更を検知すると通知が来るようにNSNotificationCenterに登録する. また終了時にNSNotificationCenterからselectorを削除する事を忘れてはいけない. registerは…

Emacs24.3(for Mac OSX)でUnity用のC#を書くために

前提 auto-completeを導入. 以前の記事を参照 monoの最新版を導入 csharp-modeの導入 Emacs 24.3にはC#用のメジャーモードがデフォルトで用意されていないため、csharp-mode.elを入れる. curl -O http://www.emacswiki.org/emacs/download/csharp-mode.el mv…

Emacsでコード補完を利用するためにauto-complete-clang-asyncを導入してみた

OSX上のemacs-version "24.2.2"なEmacsでの話 auto-complete まずは前提となるauto-completeがないと話にならないので, サイトのダウンロードから一式落として, 然るべき処(~/.emacs.d/site-lispなど)に必要な物一式コピーする. cp *.el ~/.emacs.d/site-lis…

Lua5.2でluaの函数内にてエラった時にtracebackを取得するには

Luaを自分のプログラムに組み込んでなんやらしている時に、 local function g() prin("hoge") -- 本当はprint("hoge")と書きたかった. end local function f() g() end f() というコードがあるとして、これを実行するために、 int error_code = lua_pcall(L,…

Use Android SDK & NDK without Eclipse on Mac OSX

タイトルは手抜き Setup Android SDKとNDKをdownloadして適当な処($HOME/android など)に各々伸張、環境変数を設定する. $ export ANDROID_HOME=$HOME/android/adt-bundle-mac-x86_64/sdk $ export PATH=$PATH:$ANDROID_HOME/platform_tools:$ANDROID_HOME/t…

ゲーム開発とSTL

コンシューマ向けゲーム開発に携わって結構な年数が経過しました。 これまでは恵まれていたのか、STLを使える環境にいた*1ので特に気にしていなかったのですが、どうやら場所によってはSTLはゲーム開発向きではないらしく使用を禁止される事もあるようです。…

Mac OSX 10.6 に、llvmとclangをインストール

# http://clang.llvm.org/get_started.html mkdir llvm cd llvm svn co http://llvm.org/svn/llvm-project/llvm/trunk trunk cd trunk/tools svn co http://llvm.org/svn/llvm-project/cfe/trunk clang # version 3.1 cd .../projects svn co http://llvm.or…

MacOSX 10.6 Snow Leopard に zsh を 導入

OSX 10.6の載った Macbook Late 2007にzshをインストールし直した。 git clone git://zsh.git.sf.net/gitroot/zsh/zsh cd ./zsh ./Util/preconfig ./configure make make check make TESTNUM=C02 check make TESTNUM=Y check sudo make install これで/usr/l…

#importを使わずにExcel Automation

タイトルについて、実装例を書こうかと思ったけれど、面倒臭くなったのでマイクロソフトのサポートサイトへのリンクをぽつんと貼っておきます。 MFC または #import を使用せずに C++ から Excel を自動化する方法 実装する上での注意点として、CLSIDFromPro…

(Free)GLUTのWindow Procedureをこっそり入れかえる

GLUTはライブラリ内でWindowのあれこれを隠蔽しているため、そのままだとメニューを入れたり、別途コントロールを突っ込んだりすることがそのままでは難しいです。 ですが、あらゆるWindow Handleを奪いとる事ができるWindowsでは、EnumWindowsというAPIを使…

WinMain函数をエントリーにしない方法

各プラットフォームで互換性のあるプログラムを書こうとする場合にどうしても邪魔になるのが、WinMain函数。他のプラットフォームは大概main函数をエントリーとして使っているのに、Windowsだけ、WinMain函数を使わなければなりません。 これがとても鬱陶し…

バージョン毎のヘッダーファイル

http://www.opengl.org/registry/

続・Alignment

この前の続き。隣のプログラマが原因と解決策を突き止めた。 これは、"__declspec"というキーワードの仕様と、STLのコンテナ類のテンプレートパラメータをインスタンス化する時に起きるVCコンパイラの仕様が悲しいほど残念である事から生じる問題であった模…

Alignment

structやclassにアラインメントを適用したい場合に色々ハマった。というかハマっている。 gccの場合、structやclassにアラインメントを適用したい場合は以下のようになる。 struct __attribute__((aligned(16))) THoge { char FHoge[8]; }; struct TFoo { ch…

爆弾付けちゃダメなんだからねっ

さてさてさて。 先日、"Visual C++"ではBOM付きのUTF-8を使わないとWARNINGが出るという話をしましたが、このBOM付きUTF-8で記述されたソースコードをMinGW(というかgcc)でビルドしようとするとどうなるでしょーか。 $ make main.cpp:1: error: stray '\239'…

爆弾付けないとダメなんだからねっ

"Visual C++"(以下VC++)と"WTL"でWindowsのプログラミングを組んでいた時の事。VC++はビルド+デバッグ用でコーディングはEmacsを使っているのだけれども、EmacsでC++のコードを書く時のデフォルトの文字コードがUTF-8。 さて、この状態でビルドすると、緩く…

MinGWにおけるWINVER

MinGWを使ってプログラムを構築中に、getaddrinfo()が見つからないというエラーにでくわした。なんやかんやで色々調べた結果、windef.hに定義されているWINVERマクロの数値が0x400になっているのが原因である事が判明。ちなみにOSはWindowsXP SP3。0x400なわ…

gccに定義されているマクロ一覧表示

$ echo | gcc -v -E -dM -

Go

どうしてこんなに検索仕辛い言語名にしてしまいますか、Google先生は(google:Go)。 自宅のMacbookにはインストールだけして、 > Hello 世界! とだけ出力させて満足したのですが、会社で使用しているマシンはWindows。というわけで、Goのコンパイラ及びリンカ…

コメントに書く内容について

IDコールされるとビクッとしてしまいます。警察官を見かけると、何も悪い事していないのにソワソワしてしまうみたいに。 それはともかく。 コードコメントに書くべきは「意図」の記事に対してブクマコメントしたら、スターでコメント貰ったり、idコールされ…