代码之家  ›  专栏  ›  技术社区  ›  stan

在Windows上编译命令行Linux程序[重复]

  •  2
  • stan  · 技术社区  · 16 年前

    这个问题已经有了答案:

    我需要编写一个相对简单的命令行C++程序来运行Linux环境。但是,我想在Windows上编写和编译这个代码。我不想把它移植到Linux上的原因是它需要MySQL交互,这需要一些混乱的移植(IMO)。它不必在Windows上运行;我只想在Windows上编译它,因为我想使用我喜欢的IDE。

    我已经在Cygwin上查找了这个任务,但是我还没有找到任何文档来完成我想做的工作。

    4 回复  |  直到 12 年前
        1
  •  1
  •   Roger Pate    16 年前

    (我假设“…不想将其移植到Linux…”是“…的拼写错误。) Linux”,您希望代码在Linux中运行,正如您在第一句话中所说。这意味着cygwin或mingw只能用作交叉编译器,不会非常有用。)

    这个程序已经在Linux上构建并工作(或者大部分工作),对吗?没有理由改变这一点。使用首选的编辑器(可能是IDE中的编辑器)编辑文件,然后在Linux系统(可能是VM)中运行构建系统(可能是make)。使用Samba共享导出文件(特别是从虚拟机导出),这样您就可以远程编辑和自动保存文件。

    请注意,您似乎可以放弃IDE的其他所有功能(主要是调试器和编译器),只使用编辑器部分。


    啊,你不是从现有的项目开始,想从头开始写吗?如果是这样,移植没有任何意义。 您要编写跨平台代码。 (跨平台或“可移植代码”与“将代码从一个平台移植到另一个平台”的行为相关,但与之不同。)

    然后代码同时是“Windows代码”和“Linux代码”,您可以在Windows上使用任何可以接受代码的编译器。通常情况下,你会坚持标准库和其他便携式库,或者为非便携式库编写垫片,给他们一个可移植的接口,编译器支持C++标准。

    可以 在这种情况下,使用首选的IDE编译器和调试器,而不需要cygwin或mingw。(除非你的首选IDE使用它们。P)

        2
  •  1
  •   Graphics Noob    16 年前

    MinGW + MSYS

    mingw提供了这个功能,msys提供了一个类似Linux的命令提示来使用mingw at。

        3
  •  1
  •   0xfe    16 年前

    当你得到CygWin时,安装C++编译器/Bug工具,例如GCC、G++、Apple、AutoToo工具等。我认为这些都是你需要的,但我可能错了。在任何情况下,cygwin安装程序都很容易使用,并且应该引入任何依赖项。

    完成这些设置后,可以将IDE配置为使用g++作为默认编译器。您还需要正确设置库和包含路径,以便它们指向$cygwin(%cygwin%)下的相对/usr/include和/usr/lib目录。

    (您的另一个选项是使用mingw工具集,在这种情况下,IDE设置或多或少是相同的。)

        4
  •  0
  •   Dolph    16 年前

    安装Cygwin( tutorial )您将得到一个exe,它为您提供要查找的命令行提示。

    cygwin安装程序应该有一个选项来安装您要查找的任何编译器(gcc?).

    这是另外一个 relevant tutorial .