float _Complex标识变体的Windows?

# define COMPLEX_FLOAT float _Complex # define _Complex_I 1.0fi 

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

 extern COMPLEX_FLOAT quantum_conj(COMPLEX_FLOAT a); 

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

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

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

复杂的算术是一个C99功能。 而MSVC只支持近似于C89的东西。 MS已经公开表示,C编译器不会超越C89。

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