Ubuntuの異端児の下でX11R6-7.0をコンパイルしようとしていますが、自分で解決できない奇妙なコンパイルエラーが発生しました。
ati Catalystドライバーは新しいxorgをサポートしておらず、ossドライバーはハードウェアの3Dアクセラレーションをサポートしていないため、X11R6-7.0が必要でした。
このエラーメッセージの意味を知っている人はいますか?私はいくつかのCを知っていますが、少し混乱しました。GET_FB_DATA
マクロが返されたのですかNULL
、それともメソッド/プロパティが設定されていないのですか?
この時点でプリプロセッサ定義を「デバッグ」する方法についてのさらなる洞察は素晴らしいでしょう。で役立つものは何も印刷できないと思います#error
。
私が得るエラー:
tdfx_span.c:関数'tdfxDDWriteDepthPixels':
tdfx_span.c:976:エラー:代入の左オペランドとして左辺値が必要
tdfx_span.c:1008:エラー:代入の左オペランドとして左辺値
tdfx_span.c:関数' write_stencil_pixels':
tdfx_span.c:1242:エラー:代入の左オペランドとして左辺値が必要です
コード:
958- switch (depth_size) {
959- case 16:
960- GetBackBufferInfo(fxMesa, &backBufferInfo);
961- /*
962- * Note that the _LOCK macro adds a curly brace,
963- * and the UNLOCK macro removes it.
964- */
965- WRITE_FB_SPAN_LOCK(fxMesa, info,
966- GR_BUFFER_AUXBUFFER, GR_LFBWRITEMODE_ANY);
967- {
968- LFBParameters ReadParams;
969- GetFbParams(fxMesa, &info, &backBufferInfo,
970- &ReadParams, sizeof(GLushort));
971- for (i = 0; i < n; i++) {
972- if (mask[i] && visible_pixel(fxMesa, x[i], y[i])) {
973- xpos = x[i] + fxMesa->x_offset;
974- ypos = bottom - y[i];
975- d16 = depth[i];
976: PUT_FB_DATA(&ReadParams, GLushort, xpos, ypos, d16);
977- }
978- }
979- }
980- WRITE_FB_SPAN_UNLOCK(fxMesa, GR_BUFFER_AUXBUFFER);
981- break;
982- case 24:
そして相対マクロ:
#define GET_FB_DATA(ReadParamsp, type, x, y) \
(((x) < (ReadParamsp)->firstWrappedX) \
? (((type *)((ReadParamsp)->lfbPtr)) \
[(y) * ((ReadParamsp)->LFBStrideInElts) \
+ (x)]) \
: (((type *)((ReadParamsp)->lfbWrapPtr)) \
[((y)) * ((ReadParamsp)->LFBStrideInElts) \
+ ((x) - (ReadParamsp)->firstWrappedX)]))
#define GET_ORDINARY_FB_DATA(ReadParamsp, type, x, y) \
(((type *)((ReadParamsp)->lfbPtr)) \
[(y) * ((ReadParamsp)->LFBStrideInElts) \
+ (x)])
#define GET_WRAPPED_FB_DATA(ReadParamsp, type, x, y) \
(((type *)((ReadParamsp)->lfbWrapPtr)) \
[((y)) * ((ReadParamsp)->LFBStrideInElts) \
+ ((x) - (ReadParamsp)->firstWrappedX)])
#define PUT_FB_DATA(ReadParamsp, type, x, y, value) \
(GET_FB_DATA(ReadParamsp, type, x, y) = (type)(value))
#define PUT_ORDINARY_FB_DATA(ReadParamsp, type, x, y, value) \
(GET_ORDINARY_FB_DATA(ReadParamsp, type, x, y) = (type)(value))
#define PUT_WRAPPED_FB_DATA(ReadParamsp, type, x, y, value) \
(GET_WRAPPED_FB_DATA(ReadParamsp, type, x, y) = (type)(value))
LFBParameters構造体
483-typedef struct
484-{
485- void *lfbPtr;
486- void *lfbWrapPtr;
487- FxU32 LFBStrideInElts;
488- GLint firstWrappedX;
489-}
490:LFBParameters;