【问题标题】:Building a Windows Console App In Cygwin 1.7.16 Targeted to Cygwin 1.5.24在 Cygwin 1.7.16 中构建面向 Cygwin 1.5.24 的 Windows 控制台应用程序
【发布时间】:2014-04-20 11:29:22
【问题描述】:

我有一个 纯标准 C++ 的 Windows 控制台应用程序。我正在 Cygwin 1.7.16(在 Windows 7 上运行)为目标 Cygwin 1.5.24(在 Windows XP SP 2 上运行)构建它。

我的构建命令是: g++ -o mgen_stats.exe -I ../include ../src/*.cpp

在目标上,我的路径包括 /usr/bin,这是 cygwin1.dll 所在的位置。

当我在 Cygwin 1.5.24 shell 中在目标上运行不带参数的应用程序时,我会立即返回命令提示符。我应该会看到应用程序的使用情况打印出来。

我正在处理的一些不可变约束:

  • 构建机器和目标机器相互隔离。

  • 目标上没有 C++ 构建工具链。

  • 我可能没有在目标上安装 C++ 构建工具链。

  • 我不能修改我在构建机器上的 C++ 构建工具链。

  • 由于上述原因,我必须在我的构建机器上构建,将 .exe 刻录到 CD,然后将其复制到目标机器上。

我很高兴我的应用程序能够成为本机 Windows 应用程序(即在 DOS shell 而不是 Cygwin 1.5.24 shell 中运行它)。为此,我尝试使用 g++ 构建标志 -mno-cygwin。 g++ 告诉我标志 -mno-cygwin 已被删除。然后它建议我“使用面向 mingw 的交叉编译器”。我不知道如何判断我是否有 mingw-gcc、mingw64-i686-gcc 和 mingw64-x86_64-gcc 软件包(根据 Cygwin 常见问题解答,其中包含建议的交叉编译器),如果我有他们,我不知道编译器可执行文件的名称是什么。

谁能帮我构建这个应用程序,使其能够在我的 Windows XP SP 2 目标上的 DOS 或 Cygwin 1.5.24 shell 下成功运行?

提前谢谢你。

【问题讨论】:

    标签: c++ windows winapi cygwin windows-xp


    【解决方案1】:

    MinGW 包(与任何其他 Cygwin 包一样)可以使用 Cygwin 在其网站上提供的“setup.exe”安装在 Cygwin 上。如果您确实安装了它们,您会发现编译器为 i686-w64-mingw32-g++x86_64-w64-mingw32-g++

    或者,您也可以install the MinGW packages directly(不使用 Cygwin)。

    【讨论】:

    • 感谢您提供编译器可执行文件名称。然而不幸的是,它们不在我的系统上,我可能不会安装它们。很可能在我受到的限制范围内没有解决这个问题的方法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多