★お知らせ(2023/12/27)
いつもLive2D公式コミュニティをご利用いただき誠にありがとうございます。
本コミュニティは2023年12月27日 11:00をもって閉鎖いたしました。
今後の運営はすべて新Live2D公式クリエイターズフォーラムに移行します。
閉鎖に伴い、以下機能は利用不可となります。
・アカウントの新規作成
・トピック投稿、返信
たくさんのご利用誠にありがとうございました。
新Live2D公式クリエイターズフォーラムは以下バナーよりご利用いただけます。
なお、本コミュニティに投稿されたトピックはすべて残りますが、今後削除する可能性がございますので予めご了承ください。
閉鎖に関するお問い合わせにつきましてはLive2D公式クリエイターズフォーラムへご連絡ください。
いつもLive2D公式コミュニティをご利用いただき誠にありがとうございます。
本コミュニティは2023年12月27日 11:00をもって閉鎖いたしました。
今後の運営はすべて新Live2D公式クリエイターズフォーラムに移行します。
閉鎖に伴い、以下機能は利用不可となります。
・アカウントの新規作成
・トピック投稿、返信
たくさんのご利用誠にありがとうございました。
新Live2D公式クリエイターズフォーラムは以下バナーよりご利用いただけます。
なお、本コミュニティに投稿されたトピックはすべて残りますが、今後削除する可能性がございますので予めご了承ください。
閉鎖に関するお問い合わせにつきましてはLive2D公式クリエイターズフォーラムへご連絡ください。
DirectX Debugモード時にビルドエラー
Releaseモードビルド時にはエラーは発生しませんが、Debugモードビルド時に
下記のエラーが発生します。
Debugモード時の設定に誤りがあるのかと思うのですが、
自分では原因が分からず質問させて頂きました。
原因が分かる方いましたら、ご教示のほど宜しくお願いします。
エラーログ抜粋(※全文は添付ファイル参照)
------------------------------------------
エラー 164 error C2059: 構文エラー : '定数' c:\live2d\include\memory\LDObject.h 29 1 SYSTEM
エラー 168 error C2090: 関数は配列を返せません。 c:\live2d\include\memory\LDObject.h 32 1 SYSTEM
エラー 165 error C2091: 関数は関数を返せません。 c:\live2d\include\memory\LDObject.h 29 1 SYSTEM
エラー 174 error C2556: 'void *(__cdecl *live2d::LDObject::operator new(void))(l2d_size_t,live2d::MemoryParam *)' : オーバーロード関数は、'void *(__cdecl *live2d::LDObject::operator new(void))(l2d_size_t)' と戻り値の型のみが異なります。 c:\live2d\include\memory\LDObject.h 40 1 SYSTEM
------------------------------------------
開発環境
------------------------------------------
Windows8.1
Visual Studio 2010 Professional SP1
C++
Directx9.0c SDK (Summer 2004)
Live2D Cubism SDK for DirectX Version 2.0.06_1
Debugモード時設定
文字セット:マルチバイト文字セットを使用する
ランタイムライブラリ:マルチスレッドデバッグ(/MTd)
追加の依存ファイル:live2d_directX_mtd.lib
プログラム内で下記をインクルードしています
Live2D.h
Live2DModelD3D.h
Live2DMotion.h
MotionQueueManager.h
UtSystem.h
------------------------------------------
下記のエラーが発生します。
Debugモード時の設定に誤りがあるのかと思うのですが、
自分では原因が分からず質問させて頂きました。
原因が分かる方いましたら、ご教示のほど宜しくお願いします。
エラーログ抜粋(※全文は添付ファイル参照)
------------------------------------------
エラー 164 error C2059: 構文エラー : '定数' c:\live2d\include\memory\LDObject.h 29 1 SYSTEM
エラー 168 error C2090: 関数は配列を返せません。 c:\live2d\include\memory\LDObject.h 32 1 SYSTEM
エラー 165 error C2091: 関数は関数を返せません。 c:\live2d\include\memory\LDObject.h 29 1 SYSTEM
エラー 174 error C2556: 'void *(__cdecl *live2d::LDObject::operator new(void))(l2d_size_t,live2d::MemoryParam *)' : オーバーロード関数は、'void *(__cdecl *live2d::LDObject::operator new(void))(l2d_size_t)' と戻り値の型のみが異なります。 c:\live2d\include\memory\LDObject.h 40 1 SYSTEM
------------------------------------------
開発環境
------------------------------------------
Windows8.1
Visual Studio 2010 Professional SP1
C++
Directx9.0c SDK (Summer 2004)
Live2D Cubism SDK for DirectX Version 2.0.06_1
Debugモード時設定
文字セット:マルチバイト文字セットを使用する
ランタイムライブラリ:マルチスレッドデバッグ(/MTd)
追加の依存ファイル:live2d_directX_mtd.lib
プログラム内で下記をインクルードしています
Live2D.h
Live2DModelD3D.h
Live2DMotion.h
MotionQueueManager.h
UtSystem.h
------------------------------------------
0
コメント
http://sites.cybernoids.jp/cubism-sdk2/directx2-1
ご回答ありがとうございます。
ご提示の最新版でも同様の事象が発生することを確認しました。
Live2D.hなどをインクルードする前に記載していた下記コードが原因でした。
メモリリーク箇所を検出するための記載ですが、LDObject.hなどエラーが出ていた
ファイルの「operator new」部分に影響していたようです。
下記コードを記載する前にLive2D.hなどをインクルードすることで解決しました。
お騒がせしました。
■問題のコード
---------------------------------
#ifdef _DEBUG
#ifndef DBG_NEW
#define DBG_NEW new ( _NORMAL_BLOCK , __FILE__ , __LINE__ )
#define new DBG_NEW
#endif
#endif
---------------------------------
■参考サイト様
http://www.hiramine.com/programming/windows/specifymemoryleak.html
http://d.hatena.ne.jp/mas-higa/20090209/1234189708