トップページ > 記事閲覧
TCHARが定義されない
名前:yumetodo 日時: 2015/12/11 17:32

先日、ついにVisual StudioからClangを使うことを正式にサポートするClang with Microsoft CodeGenが出ました。まだpreview版ですが、(個人的には)喜ばしいところです。 さて、DxLibを使用したプロジェクトをClang with Microsoft CodeGenをつかってコンパイルする際に問題があります。 TCHAR型が定義されないのです。 github.com/Nagarei/DxLibEx/issues/18 qiita.com/yumetodo/items/bd41f31f39dd590e8c80 に原因をまとめましたが、要約すると、MSのヘッダの #define _TCHAR_DEFINED の位置が悪いのが原因です。(つまりMSのせい) 対処策としては、tchar.hをWindwos.hより先にincludeしない、と言うものになります。 Nagarei 氏の調査では DxLib.h -> DxCompileConfig.h -> DxDataType.h -> DxDataTypeWin.h -> tchar.h のようにしてtchar.hが入り込んでいるようです。 DxLib側でtchar.hの前にWindows.hを読み込むように対処していただけませんでしょうか? この件についてはMSにもあとでバグレポを投げる予定です(どこになげるんだっけ)。
メンテ

Page: 1 |

Re: TCHARが定義されない ( No.1 )
名前:管理人 日時:2015/12/12 12:37

> 先日、ついにVisual StudioからClangを使うことを正式にサポートするClang with Microsoft CodeGenが出ました。まだpreview版ですが、(個人的には)喜ばしいところです。 一時期 VisualStudio の C++ 関連はバージョンが変わってもあまり変更点が無いみたいな 状態だった気がするのですが( VS2005 〜 VS2010 辺り? )、最近は積極的に機能強化されている気がします・・・ スマフォやタブレットの台頭で( 処理速度的に ) C++ の必要性が高まったからでしょうか・・・? > DxLib側でtchar.hの前にWindows.hを読み込むように対処していただけませんでしょうか? DxDataTypeWin.h で #include <tchar.h> の直後に #include <windows.h> があるのですが、 こちらの記述の順序を逆にするだけで大丈夫でしょうか? ( それ以外で tchar.h をインクルードしている箇所は一箇所だけで、そちらは windows.h を 先にインクルードするようになっていました )
メンテ
Re: TCHARが定義されない ( No.2 )
名前:Nagerei(Nameless) 日時:2015/12/12 19:30

> DxDataTypeWin.h で #include <tchar.h> の直後に #include <windows.h> があるのですが、 > こちらの記述の順序を逆にするだけで大丈夫でしょうか? 大丈夫です。
メンテ
Re: TCHARが定義されない ( No.3 )
名前:管理人 日時:2015/12/13 02:54

ご返答ありがとうございます DxDataTypeWin.h の #include <tchar.h> と #include <windows.h> の順番を入れ替えたものを アップしましたので、よろしければお使いください m(_ _)m https://dxlib.xsrv.jp/temp/DxLibMakeTest.exe // ソース
メンテ
Re: TCHARが定義されない ( No.4 )
名前:yumetodo 日時:2015/12/13 10:06

ありがとうございます。 MSにも https://connect.microsoft.com/VisualStudio/feedback/details/2122400 一応バグレポ投げました。
メンテ
Re: TCHARが定義されない ( No.5 )
名前:yumetodo_(解決) 日時:2016/02/22 14:01

>https://connect.microsoft.com/VisualStudio/feedback/details/2122400 >Hello, >Thank you for reporting this issue. We've fixed this; the fix will appear in a future release of the Windows SDK. >Sincerely, fixされたみたいですね
メンテ

Page: 1 |

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

   クッキー保存