1
# define COMPLEX_FLOAT float _Complex 
# define _Complex_I 1.0fi

这存在于我项目的主头文件中。

extern COMPLEX_FLOAT quantum_conj(COMPLEX_FLOAT a);

这在另一个头文件中。但是,error C2061: syntax error : identifier 'quantum_conj'当我使用 MSVC 编译时,我得到了。我已经包括<math.h>.

float _Complex我想在 Windows 中没有标识符。这个项目为 UNIX/LINUX 系列编译得很好。另外,我知道这些宏(_Complex_I and _Complex)存在于<complex.h>gnu/bsd 发行版中。但是,没有complex.h适用于 windows 的头文件。

但是,我想为 Windows 编译这个。请帮忙。提前致谢。

4

1 回答 1

1

复数算术是 C99 的一个特性。而 MSVC 只支持近似 C89 的东西。MS 已公开声明其 C 编译器不会超越 C89。

因此,您需要一个不同的编译器。例如,GNU 编译器将完成这项工作。在 Windows 上,这通常意味着 mingw 端口。

于 2013-04-15T10:38:04.860 回答