りさーちゃーのひよこ
技術のこととか
2014年6月11日水曜日
glui を使用してerror C1189 が出る場合の対処法
#背景 こまった。あるクラスにgluiの処理を組み込もうと、当該クラスのヘッダで#include<GL/glui.h>を試みるも、コンパイルが取らない。サンプルは普通に動いているのですが。<br /> #エラー内容 error C1189: #error : The C++ Standard Library forbids macroizing keywords. Enable warning C4005 to find the forbidden macro.<br /> 標準ライブラリで宣言済みのマクロをどこかで宣言しているぞ、とのこと。<br /> 俺はそんな高尚なことしてねーぞ。<br /> #解決方法 ちょっと探したら解決法を見つけた。<br /> <a href="https://www.blogger.com/null"></a><a href="http://wiki.openttd.org/Compiling_on_Windows_using_Microsoft_Visual_C%2B%2B_2012#Fix_Error_C1189:_.22The_C.2B.2B_Standard_Library_forbids_macroizing_keywords._Enable_warning_C4005_to_find_the_forbidden_macro.5B....5D.22" target="_blank" title="">Welcome to the OpenTTD Wiki - Compiling on Windows using Microsoft Visual C++ 2012</a><br /> <br /> 関係ないオープンソースで同様の事例があるようなのですが、参考にしました。<br /> 下記のように処置するとコンパイルエラーは解消されました。※警告は出ますが。<br /> <br /> ・プロジェクト → プロパティ → C/C++ → プリプロセッサ → プリプロセッサの定義 に以下のパラメータを追記する。<br /> XKEYCHECK_H;<br /> #解決までの経緯 試しにgluiの機能をラップしたクラスを作ってから組み込んでもNG。<br /> ところが、そのクラスをグローバル宣言するとうまくいく。よくわからない。。<br /> 結局色々試して、帰納的にはヘッダで#include <GL/glui.h> を宣言するとうまくいかないよう。<br /> このヘッダがおかしなことをしているのかもしれない。。<br /> <br /> なんて事を思いながらgoogle先生を調べましたとさ。へっぽこソフト屋さんはこれ以上深追いしませんよ。</div> <br />
0 件のコメント:
コメントを投稿
次の投稿
前の投稿
ホーム
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿