c++ - 对于在 Linux 中正常构建的 C++ 程序,VS2010 中的编译失败

标签 c++ windows linux visual-studio-2010 g++

我的 C++ 项目在 Linux 上构建和运行良好。现在我想在 VS2010 中编译它。我从 cmath 库中得到很多错误,如下所示。

Error   1   error C2061: syntax error : identifier 'acosf'  c:\program files\microsoft visual studio 10.0\vc\include\cmath  19  1   MyPROJ

我还遇到许多与文件操作相关的编译错误,例如:

Error   1   error C3861: 'lseek': identifier not found  g:\project\file.cc  274 1   MyPROJ

Error   2   error C3861: 'write': identifier not found  g:\project\file.cc  275 1   MyPROJ

如何消除这些错误。

最佳答案

lseek 和 write 是不属于 C 标准的 unix(posix?)调用。 它们在 Windows 上可用,但使用名称 _lseek 和 _write

虽然不确定 acosf

编辑:acosf 应该可用,你是否包括 math.h

编辑更多:更仔细地查看原始帖子,错误在 cmath 中,这很好,但您可能必须编写 std::acosf - 但错误在包含文件中。当我尝试它时它工作正常,所以包含之前的某些东西可能会发生冲突。在您的源代码中包含 cmath 之前是什么?

关于c++ - 对于在 Linux 中正常构建的 C++ 程序,VS2010 中的编译失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4769822/

相关文章:

c++ - 如何在 main() 之前调试程序崩溃

windows - ec2 block 设备映射列表与 Windows 驱动器之间的映射

c# - 完整 Windows 桌面的实时视频处理

c# - 如何在 C# 中使用 TaskScheduler 设置 “run only if logged in” 和 “run as”?

c - POSIX 共享内存 - 有多少内存副本

node.js - NodeJS 应用程序作为 CLI 工具

c - 无法使用 C 中 API 库 header 中定义的结构

c++ - C++ 中的结构中的字符串

c++ - 如何在树莓派上使用c++/libao/alsa通过USB声卡播放音频?

c++ - 在 3 元素映射 C++ 中添加新项目并使用时间键搜索