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