トップページ > 記事閲覧
DX_LIB_LITEVERを有効にするとコンパイルエラー
名前:P 日時: 2022/08/22 23:51

DxLibMakeのDxCompileConfig.hにて、軽量版のライブラリが生成できる#defineマクロ DX_LIB_LITEVERを有効にすると、DxInputString周りでコンパイルエラーが発生しました。 下記、ビルド実行時のログになります。 1>F:\プログラミング\DxLibMake\DxInputString.cpp(138,1): error C2653: 'DX_UIElementSink': 識別子がクラス名でも名前空間名でもありません。 1>F:\プログラミング\DxLibMake\DxInputString.cpp(139,1): error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません 1>F:\プログラミング\DxLibMake\DxInputString.cpp(140,2): error C2065: 'RefCount': 定義されていない識別子です。 1>F:\プログラミング\DxLibMake\DxInputString.cpp(141,1): warning C4508: 'DxLib::DX_UIElementSink': 関数に戻り値の型が指定されていません。戻り値を void 型と見なします。 1>F:\プログラミング\DxLibMake\DxInputString.cpp(144,1): error C2653: 'DX_UIElementSink': 識別子がクラス名でも名前空間名でもありません。 1>F:\プログラミング\DxLibMake\DxInputString.cpp(144,20): error C2523: '<不明>::~DX_UIElementSink': デストラクター が、別の名前で宣言されています。 1>F:\プログラミング\DxLibMake\DxInputString.cpp(145,1): error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません 1>F:\プログラミング\DxLibMake\DxInputString.cpp(144,36): error C2084: 関数 'int DxLib::DX_UIElementSink(void)' は既に本体を持っています。 1>F:\プログラミング\DxLibMake\DxInputString.cpp(138): message : 'DX_UIElementSink' の以前の定義を確認してください 1>F:\プログラミング\DxLibMake\DxInputString.cpp(148,19): error C2653: 'DX_UIElementSink': 識別子がクラス名でも名前空間名でもありません。 1>F:\プログラミング\DxLibMake\DxInputString.cpp(157,6): error C2065: 'IID_IUNKNOWN': 定義されていない識別子です。 1>F:\プログラミング\DxLibMake\DxInputString.cpp(158,3): error C2065: 'IID_ITFUIELEMENTSINK': 定義されていない識別子です。 1>F:\プログラミング\DxLibMake\DxInputString.cpp(160,23): error C2355: 'this': 静的でないメンバー関数の内部または静的でないデータ メンバー初期化子においてのみ参照できます 1>F:\プログラミング\DxLibMake\DxInputString.cpp(165,3): error C3861: 'AddRef': 識別子が見つかりませんでした 1>F:\プログラミング\DxLibMake\DxInputString.cpp(172,17): error C2653: 'DX_UIElementSink': 識別子がクラス名でも名前空間名でもありません。 1>F:\プログラミング\DxLibMake\DxInputString.cpp(174,2): error C2065: 'RefCount': 定義されていない識別子です。 1>F:\プログラミング\DxLibMake\DxInputString.cpp(175,9): error C2065: 'RefCount': 定義されていない識別子です。 1>F:\プログラミング\DxLibMake\DxInputString.cpp(178,17): error C2653: 'DX_UIElementSink': 識別子がクラス名でも名前空間名でもありません。 1>F:\プログラミング\DxLibMake\DxInputString.cpp(182,2): error C2065: 'RefCount': 定義されていない識別子です。 1>F:\プログラミング\DxLibMake\DxInputString.cpp(183,20): error C2065: 'RefCount': 定義されていない識別子です。 1>F:\プログラミング\DxLibMake\DxInputString.cpp(185,6): error C2065: 'RefCount': 定義されていない識別子です。 1>F:\プログラミング\DxLibMake\DxInputString.cpp(187,10): error C2355: 'this': 静的でないメンバー関数の内部または静的でないデータ メンバー初期化子においてのみ参照できます 1>F:\プログラミング\DxLibMake\DxInputString.cpp(198,14): error C2039: 'ITfThreadMgrEx': 'DxLib::CHARBUFFER' のメンバーではありません 1>F:\プログラミング\DxLibMake\DxInputString.h(108): message : 'DxLib::CHARBUFFER' の宣言を確認してください 1>F:\プログラミング\DxLibMake\DxInputString.cpp(198,46): error C2065: 'IID_ITFUIELEMENTMGR': 定義されていない識別子です。 1>F:\プログラミング\DxLibMake\DxInputString.cpp(288,19): error C2653: 'DX_UIElementSink': 識別子がクラス名でも名前空間名でもありません。 1>F:\プログラミング\DxLibMake\DxInputString.cpp(306,32): error C2065: 'IID_ITFCANDIDATELISTUIELEMENT': 定義されていない識別子です。 1>F:\プログラミング\DxLibMake\DxInputString.cpp(308,11): error C2039: 'TsfCandidateRefCount': 'DxLib::CHARBUFFER' のメンバーではありません 1>F:\プログラミング\DxLibMake\DxInputString.h(108): message : 'DxLib::CHARBUFFER' の宣言を確認してください 1>F:\プログラミング\DxLibMake\DxInputString.cpp(317,19): error C2653: 'DX_UIElementSink': 識別子がクラス名でも名前空間名でもありません。 1>F:\プログラミング\DxLibMake\DxInputString.cpp(334,32): error C2065: 'IID_ITFCANDIDATELISTUIELEMENT': 定義されていない識別子です。 1>F:\プログラミング\DxLibMake\DxInputString.cpp(344,19): error C2653: 'DX_UIElementSink': 識別子がクラス名でも名前空間名でもありません。 1>F:\プログラミング\DxLibMake\DxInputString.cpp(361,32): error C2065: 'IID_ITFCANDIDATELISTUIELEMENT': 定義されていない識別子です。 1>F:\プログラミング\DxLibMake\DxInputString.cpp(363,11): error C2039: 'TsfCandidateRefCount': 'DxLib::CHARBUFFER' のメンバーではありません 1>F:\プログラミング\DxLibMake\DxInputString.h(108): message : 'DxLib::CHARBUFFER' の宣言を確認してください 1>F:\プログラミング\DxLibMake\DxInputString.cpp(364,15): error C2039: 'TsfCandidateRefCount': 'DxLib::CHARBUFFER' のメンバーではありません 1>F:\プログラミング\DxLibMake\DxInputString.h(108): message : 'DxLib::CHARBUFFER' の宣言を確認してください 1>F:\プログラミング\DxLibMake\DxInputString.cpp(407,23): error C2039: 'ImmFunc': 'DxLib::WINAPIDATA' のメンバーではありません 1>F:\プログラミング\DxLibMake\Windows\DxWinAPI.h(829): message : 'DxLib::WINAPIDATA' の宣言を確認してください クラス宣言がキー入力無効化の#ifdefに入っていないようです。 こちらは#ifdefの囲いわすれか、仕様なのかご確認をお願いしたいです。
メンテ

Page: 1 |

Re: DX_LIB_LITEVERを有効にするとコンパイルエラー ( No.1 )
名前:管理人 日時:2022/08/24 00:30

ご指摘ありがとうございます すみません、DX_LIB_LITEVER が有効な場合に DX_NON_INPUTSTRING も有効になるようにしていなかったことがエラーの原因でした DX_LIB_LITEVER が有効な場合に DX_NON_INPUTSTRING も有効になるように DxCompileConfig.h を書き換えましたので、 よろしければこちらの修正版をお使いください m(_ _;m https://dxlib.xsrv.jp/temp/DxLibMakeTest.zip
メンテ
Re: DX_LIB_LITEVERを有効にするとコンパイルエラー ( No.2 )
名前:P(解決) 日時:2022/08/24 21:51

ご対応ありがとうございます。 いただいたヘッダーでビルドが可能になりました。 ありがとうございました。
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存