Alpaca Time Blog

ゲーム作る系 草食動物の備忘録

C++

【c++】「version」ファイルがあるとエラーが出る。

C++20 で #include <version> が出来ました。 https://cpprefjp.github.io/reference/version.html これにより、 include のパスに、 「version」ファイルや 「VERSION」ファイル(大文字/小文字を区別しないOSや設定*1) があると、 優先順位によってはC++20でない「</version>…

【VisualStudio】パラメーター "basePath" を相対パスにすることはできません。対策

DLL開発等で、 実行時に「作業ディレクトリ」を指定する場合があります。 作業ディレクトリに ..\..\bin 等の相対パスを入れて、 (<参照…>ボタンを押して設定しても相対パスになる) 実行すると、 パラメーター "basePath" を相対パスにすることはできませ…

CreateWindowで失敗する

CreateWindowで失敗 Windows7では問題なく起動していたのに、 Windows10でCreateWindowで失敗する。 HWNDはNULLが戻り、 GetLastError()は0で、エラー内容が分からない。 という状況。 ハマったのでメモ。 原因 CreateWindowに渡すコールバック関数の引数が…

libpngでエラー出たメモ

結論 問題 原因 対策 データ内容について OpenCVで16bit深度の画像を読み込んだ場合 64bit pngはどうやって作成されていたのか? 結論 結論から書くと 8bit深度しか対応してなかったのに 16bit深度のpngを読み込んでバッファオーバーフローしてました。 (iPh…

画像回転後のサイズ取得

C++

x1*y1の矩形をN度回転させる場合、収まる矩形幅はいくつかという計算 画像処理とかでたまにつかうね。 #define _USE_MATH_DEFINES #include <math.h> /** @brief 回転後のサイズ取得 @param destWidth [o] 回転後の幅 @param destHeight [o] 回転後の高さ @param src</math.h>…

Windowのクラス化

C++

クラス化する時、コールバックのときのために、thisポインタを記憶するが、 http://hilbert.elcom.nitech.ac.jp/~taki/program.html SetWindowLongでもなく std::mapでもなく SetPropがいいんだと