nbo*_*eel 11 compiler-errors cmath visual-studio visual-c++
我曾经没有任何问题地使用math.h.现在,我使用一个外部库,它本身有一个名为的文件math.h,但包括< cmath>.
将此库添加到我的项目中(甚至只是添加include目录,而不触及代码)现在会产生大量错误< cmath>:
C:\ Program Files\Microsoft Visual Studio 8\VC\include\cmath(18):错误C2039:'acosf':不是'`global namespace''的成员
C:\ Program Files\Microsoft Visual Studio 8\VC\include\cmath(18):错误C2873:'acosf':符号不能在using声明中使用
C:\ Program Files\Microsoft Visual Studio 8\VC\include\cmath(18):错误C2039:'asinf':不是'`global namespace''的成员
C:\ Program Files\Microsoft Visual Studio 8\VC\include\cmath(18):错误C2873:'asinf':符号不能在using声明中使用
[等等...]
我不明白为什么会这样.我正在使用Visual Studio 2005并在互联网上查看,似乎这个问题在VS 2008下得到了解决.但是,我想留在VS 2005 ...
包括using namespace std;无处不在,或改变我的包含顺序似乎没有任何改变.定义_STD_BEGIN解决了错误,但产生了多少< xlocinfo>.
怎么解决这个问题?
Kno*_*nox 13
VC 10中存在相同的问题.我认为,这<cmath>包括一个math.h但是正确的一个,它随VC一起提供,它使用在User-Project中创建的那个(当然具有不同的内容).
解决方案:永远不要使用math.h项目中命名的文件...(或者在某处更正std).
我不确定我是否正确阅读了您的问题,但图书馆会发布自己的 math.h 文件似乎很奇怪。
也许你想把父目录放在你的包含路径中,这样就<my_lib/math.h>可以在不与编译器冲突的情况下被包含<math.h>?
| 归档时间: |
|
| 查看次数: |
15105 次 |
| 最近记录: |