トップページ > 記事閲覧
DxLibMake(3.24d)におけるビルドエラーについて
名前:uncle 日時: 2024/11/05 11:40

お世話になっております。 DxLibMakeのビルド/プロジェクトに組み込んだ際に何か所かビルドエラーになる箇所がありましたので報告させていただきます。 ※修正内容に関してはただコードの癖や前後関係から類推し、ビルドが通る所までを確認した物なので正確な修正となっているかまでは把握できていない点にはご容赦ください。 --- ■DxGraphics.cpp @ // フルスクリーンモードで起動している場合の使用しているディスプレイモードの情報を取得する extern DISPLAYMODEDATA GetFullScreenUseDisplayMode( void ) ↓ extern DISPLAYMODEDATA NS_GetFullScreenUseDisplayMode( void ) A extern int NS_DrawCircleAA( float x, float y, float r, int posnum, unsigned int Color, int FillFlag, float LineThickness, double Angle ) ↓ extern int NS_DrawCircleAA( float x, float y, float r, int posnum, unsigned int Color, int FillFlag, float LineThickness, float Angle ) ■DxInput.cpp B // ジョイパッドのデフォルトの無効ゾーンを取得する( 戻り値:無効ゾーン( 0.0 〜 1.0 ) ) extern double GetJoypadDefaultDeadZoneAll( void ) ↓ extern double NS_GetJoypadDefaultDeadZoneAll( void ) C // ジョイパッドのデフォルトの無効ゾーンを設定する( Zone:新しい無効ゾーン( 0.0 〜 1.0 )、デフォルト値は 0.35 ) extern int SetJoypadDefaultDeadZoneAll( double Zone ) ↓ extern int NS_SetJoypadDefaultDeadZoneAll( double Zone ) ■DxGraphicsWin.cpp D Direct3D9_ObjectRelease( DXGIAdapter3 ) ; ↓ Direct3D11_ObjectRelease( DXGIAdapter3 ) ; E Direct3D9_ObjectRelease( DXGIAdapter ) ; ↓ Direct3D11_ObjectRelease( DXGIAdapter ) ; ■DxGraph.cpp F extern int UpdateMovieToGraph( int GraphHandle ) ↓ extern int NS_UpdateMovieToGraph( int GraphHandle ) --- ■DxInputString.cpp/.h ・DX_NON_INPUTSTRINGを定義(無効化) ・DX_NON_FONTを未定義(有効化) してプロジェクトに組み込んだ際にDxGateway.cppで関数の未定義でエラー .cpp NS_GetStringPoint NS_GetStringPointWithStrLen GetStringPoint_WCHAR_T NS_GetStringPoint2 NS_GetStringPoint2WithStrLen GetStringPoint2_WCHAR_T NS_GetStringLength GetStringLength_WCHAR_T NS_DrawObtainsString NS_DrawObtainsNString DrawObtainsString_WCHAR_T NS_DrawObtainsString_CharClip NS_DrawObtainsNString_CharClip DrawObtainsString_CharClip_WCHAR_T NS_DrawObtainsString_WordClip NS_DrawObtainsNString_WordClip DrawObtainsString_WordClip_WCHAR_T NS_GetObtainsStringCharPosition NS_GetObtainsStringCharPosition_CharClip NS_GetObtainsStringCharPosition_WordClip NS_DrawObtainsBox .h extern int DrawObtainsString_WCHAR_T( ~ ) ; extern int DrawObtainsString_CharClip_WCHAR_T( ~ ) ; extern int DrawObtainsString_WordClip_WCHAR_T( ~ ) ; これらをDX_NON_INPUTSTRINGの影響範囲外に移動(+必要な個所はDX_NON_FONTで囲む)・ネームスペースの解決・インクルードの解決  (依存関係まで把握できていませんが、回りくどいのでいっそDxInputStringとは別の.cppに移した方がシンプルかもしれません)
メンテ

Page: 1 |

Re: DxLibMake(3.24d)におけるビルドエラーについて ( No.1 )
名前:管理人 日時:2024/11/06 02:39

> extern DISPLAYMODEDATA GetFullScreenUseDisplayMode( void ) > extern double GetJoypadDefaultDeadZoneAll( void ) > extern int SetJoypadDefaultDeadZoneAll( double Zone ) > Direct3D9_ObjectRelease( DXGIAdapter3 ) ; > Direct3D9_ObjectRelease( DXGIAdapter ) ; > extern int UpdateMovieToGraph( int GraphHandle ) すみません、こちらは以下のURLにアップしている暫定最新版では既に修正済みでした // ソース https://dxlib.xsrv.jp/temp/DxLibMakeTest.zip > extern int NS_DrawCircleAA( float x, float y, float r, int posnum, unsigned int Color, int FillFlag, float LineThickness, double Angle ) > ↓ > extern int NS_DrawCircleAA( float x, float y, float r, int posnum, unsigned int Color, int FillFlag, float LineThickness, float Angle ) こちらは double Angle が正しい型となります( DrawRotaGraph 等でも Angle が double なので、それに沿った形です ) > ・DX_NON_INPUTSTRINGを定義(無効化) > ・DX_NON_FONTを未定義(有効化) > してプロジェクトに組み込んだ際にDxGateway.cppで関数の未定義でエラー ご指摘ありがとうございます 私の方でも DX_NON_INPUTSTRING を定義しても DrawObtainsString 等を使用できるように調整しました >  (依存関係まで把握できていませんが、回りくどいのでいっそDxInputStringとは別の.cppに移した方がシンプルかもしれません) sprintfDx などがある DxBaseFunc.cpp に GetStringPoint などを移すのが良いかもしれませんが、元々は InputString 系の関数のために用意した内部関数なので、とりあえず #ifndef の範囲指定の調整で済ませました (・・;
メンテ
Re: DxLibMake(3.24d)におけるビルドエラーについて ( No.2 )
名前:uncle(解決済み) 日時:2024/11/06 08:09

なるほど、暫定最新版の確認は漏れていました・・・。 それぞれの件承知いたしました、 ご対応ありがとうございます。
メンテ

Page: 1 |

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

   クッキー保存