2013-04-15 22 views
1
# define COMPLEX_FLOAT float _Complex 
# define _Complex_I 1.0fi 

這是存在於我的項目的主頭文件中。float _Complex identifier variant for Windows?

extern COMPLEX_FLOAT quantum_conj(COMPLEX_FLOAT a); 

這個,在另一個頭文件中。但是,當我使用MSVC進行編譯時,我得到了error C2061: syntax error : identifier 'quantum_conj'。我已包含<math.h>

我想在Windows中沒有標識符float _Complex。這個項目爲UNIX/LINUX系列編譯得很好。另外,我開始知道這些宏(_Complex_I and _Complex)存在於gnu/bsd發行版的<complex.h>中。但是,Windows沒有complex.h頭文件。

但是,我想編譯這個Windows。請幫忙。 在此先感謝。

回答

1

複雜算術是一個C99功能。而MSVC只支持接近C89的東西。 MS已經公開表示它的C編譯器不會超越C89。

Ergo,你需要一個不同的編譯器。例如,GNU編譯器將完成這項工作。在通常意味着mingw端口的Windows上。