c++ - Visual Studio 2013中的POSIX header (来自MinGW项目)

标签 c++ gcc visual-studio-2013 mingw posix

(继续:Porting from Code::Blocks to Visual Studio 2010-如果违反StackExchange的格式设置规则,我将其删除)

我正在尝试将一个开源代码::: Blocks项目移植到Visual Studio 2013(最初是从2010切换到该项目),该项目最初使用 MinGW GCC TDM-1 4.7.2 (不支持较新版本)直到2013年为止。该代码使用1998 ISO C++标准,并使用各种其他实用程序,例如SDL2,OpenGL,Zlib,Lua等。

主要问题是,该项目包括一些VS没有的库。
所以我想问问是否有人知道这些是否是仅限Unix的库,我所忽略的项目中包含的实用程序中的库,或者由于任何原因缺少我的VS安装的库,主要是是否可以将其替换为VS等效项或从某个地方下载而无需先大量移植/编辑代码本身。

特别是,在当前的构建尝试下(我没有扫描所有项目源文件以查找其他错误),缺少的库是:

  • unistd.h (*)
  • cpuid.h
  • sys / time.h


  • (*)编辑:我四处看看,我发现 unistd.h 可以替换为io.h或原始Unix库的自定义子集,因此我也将尝试这些选项。

    EDIT2:显然,它们都是Unix(POSIX)库,据我了解,即使强制包含在项目中,它们也基本上与MSVC编译器不兼容。

    我还尝试将Visual Studio项目设置为使用MinGW作为自定义编译器,但不仅我无法使其正常工作,而且我已阅读到VS无法解析来自GCC编译的二进制文件的调试信息,首先是我要移植到VS的两个主要原因之一。

    我还阅读了有关名为VisualGDB的插件的信息;有人知道吗? VS是否可以编译和调试MinGW程序?

    最佳答案

    是的,我尝试了 VisualGDB 扩展,它几乎解决了所有问题。 MSVC和MinGW互相讨厌,我真的对此无能为力。

    关于c++ - Visual Studio 2013中的POSIX header (来自MinGW项目),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27624286/

    相关文章:

    c++ - 类型检测器 `hasNestedType` 没有编译?

    c++ - FFTW 与 Matlab FFT

    c++ - GCC (MinGW) 链接器在尝试使用 GetProcessImageFileName 时失败

    c++ - 使用 C++/SDL2 加载图像 - "unhandled exception", "access violation reading location"

    C++ 前向类声明

    c++ - 编译SDL2代码时出错

    c - 编写单个生产者/单个消费者队列的最有效方式

    c++ - 模板重载解决奇数 VS2013

    c++ - 为什么左移运算符比乘法 (C++) 慢?

    c++ - 帮助优化代码