Windows 忘れない。

ちょくちょくひっそりと更新していってるこちらのWindows版。
基本的にはoFでハマったところとかメモとかの殴り書きページ。

Windows版oFでフレームレートが出ない時

なんでなんもしてないのにこんなに劇落ちするの。。。って絶望する時は大体以下どっちか。
1.DebugBuildしてる(windows版のdebugbuildあれなんなん?)
2.Windowsのグラフィック設定からアプリを高パフォーマンスで固定(省エネモードとかでアプリが動かされてる。要するにCPUオンボードの方使われてたりでGPU使えてないとかってオチ)忘れない。。

リンクパスの設定をallで全部に設定することを忘れない

画像の一番上のとこを全部共通の設定でやることを忘れない。。

Windowsで日本語表示を扱う

諦める。一番早い。推奨。嘘です。
ただとりあえずめんどいので、基本、該当ファイルは全部エンコードUTF-8のBOM付きで保存。
(VCで言うとUnicode UTF-8 with signature ってやつ)
外部APIとかから引っ張ってきたデータに日本語入ってたらwstringに直して使うみたいにすればいい。

#ifdef TARGET_WIN32
#include 
#include 

//string->wstring
std::wstring utf8str2wstr(std::string const& src)
{
    std::wstring_convert> converter;
    return converter.from_bytes(src);
}
//wstring->string
std::string wstr2utf8str(std::wstring const& src)
{
    std::wstring_convert> converter;
    return converter.to_bytes(src);
}
#endif

Windowsでのdebug buildを信じない

何故かどうやってもdebug buildでlocal_addonsのパス通らない。。
もう何も考えずとりあえず32bit release build…
winと仲良くなる道のりは長い。

Windowsでコンソールウィンドウを消す

奴を消す。。

#ifdef TARGET_WIN32
ShowWindow(GetConsoleWindow(), SW_HIDE);
#endif

こいつだと一瞬だけコンソールwindowが出たので
main関数最後で下記でいけた。

#pragma comment(linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"")

忘れない。。。

you