2

Intel の Compiler 13.1 を使用して Mac OS X 10.7.3 で FFTW 3.1.2 をコンパイルすると、align.c で次のエラーが発生します。

ifftw.h(122): warning #147: declaration is incompatible with "void *alloca(size_t={__darwin_size_t={unsigned long}})" (declared at line 36 of "/usr/include/alloca.h")
  void *alloca(size_t);
        ^

ifftw.h(154): catastrophic error: #error directive: sizeof void* is unknown!
  #    error sizeof void* is unknown!
       ^

構成スクリプトはそれをゼロに設定し、config.h ファイルには以下が含まれます。

#define SIZEOF_VOID_P 0

コメントアウトしても、エラーが発生します。エラーは、ifftw.h と次のコードによってキャストされます。

#ifndef HAVE_UINTPTR_T
#  if SIZEOF_VOID_P == 0
#    error sizeof void* is unknown!
#  elif SIZEOF_UNSIGNED_INT == SIZEOF_VOID_P
     typedef unsigned int uintptr_t;
#  elif SIZEOF_UNSIGNED_LONG == SIZEOF_VOID_P
     typedef unsigned long uintptr_t;
#  elif SIZEOF_UNSIGNED_LONG_LONG == SIZEOF_VOID_P
     typedef unsigned long long uintptr_t;
#  else
#    error no unsigned integer type matches void* sizeof!
#  endif
#endif

したがって、voidのポインターのサイズはゼロであってはならないようですが、私の場合はそうです。これは、Linux でコードをコンパイルする場合には当てはまりません。ここで何が問題なのですか?

4

0 に答える 0