0

私はプログラムに取り組んでおり、SDLとOpenGLでTinyCコンパイラを使用しています。TCCにはopenglのヘッダーが含まれていないため、VisualC++とMinGWの両方からヘッダーをコピーしてみました。どちらもコンパイルに失敗し、次のエラーが発生します。

v:/exe/tcc/include//GL/gl.h:1081: ',' expected

両方のファイルの1081行目は次のとおりです。

GLAPI void APIENTRY glVertex4s( GLshort x, GLshort y, GLshort z, GLshort w );
GLAPI void APIENTRY glVertex2dv( const GLdouble *v ); // <-- line 1081
GLAPI void APIENTRY glVertex2fv( const GLfloat *v );

GLAPIの拡張:

/* GLAPI, part 1 (use WINGDIAPI, if defined) */
#if defined(__WIN32__) && defined(WINGDIAPI)
#  define GLAPI WINGDIAPI
#endif

/* GLAPI, part 2 */
#if !defined(GLAPI)
#  if defined(_MSC_VER)                        /* Microsoft Visual C++ */
#    define GLAPI __declspec(dllimport)
#  elif defined(__LCC__) && defined(__WIN32__) /* LCC-Win32 */
#    define GLAPI __stdcall
#  else                                        /* Others (e.g. MinGW, Cygwin, non-win32) */
#    define GLAPI extern
#  endif
#endif

APIENTRYの拡張:

/* APIENTRY */
#if !defined(APIENTRY)
#  if defined(__WIN32__)
#    define APIENTRY __stdcall
#  else
#    define APIENTRY
#  endif
#endif

私が設定しているコンパイラフラグは-b、-g、-Wallだけで、いくつかのインクルードディレクトリがあります。

これについてサポートをいただけますか?必要に応じて、さらに詳しい情報を提供させていただきます。

4

3 に答える 3

3

WindowsシステムDLLとリンクするために、TCCはライブラリの代わりにインポート定義ファイル(.def)を使用します。

The included 'tiny_impdef' program may be used to make additional 
.def files for any DLL. For example:

    tiny_impdef.exe opengl32.dll

Put opengl32.def into the tcc/lib directory.  Specify -lopengl32 at
the TCC commandline to link a program that uses opengl32.dll.
于 2012-11-03T04:48:36.513 に答える
1

これをどのように修正したのかよくわかりません。私が渡していたインクルードディレクトリのいくつかと関係があると思います。とにかく、問題はなくなりました。

于 2011-10-26T00:56:33.180 に答える
1

私も同様の問題を抱えていました(代わりにセミコロンを期待しています)。#include <windows.h>OpenGLヘッダーがインポートされる前に試してください。それは私のためにそれを修正したようです。

于 2012-01-13T20:07:06.437 に答える