问题标签 [mingw]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 一个 MinGW,多个 GCC 版本——怎么做?
是否可以让不同的GCC 安装与一个MinGW 安装一起使用?
我所说的 MinGW 是指无论我们要安装和使用哪个版本的 GCC 编译器,它总是需要的公共基础;
- MinGW 运行时
- 二进制工具
- 制作
- 用于 MS-Windows 的 MinGW API
以及许多其他组件,它们是 MinGW 的一部分,但 GCC 甚至不需要。
c++ - Qt/mingw32 undefined reference errors...无法链接.lib
我是 Qt 新手,有一个无法修复的错误。
我有一堆 Windows (VS2005) 静态库文件 ( .lib
)。我正在测试它们是否可以很好地与 Qt 配合使用。所以我选择了我拥有的最简单的库。(称为MessageBuffer
)。
所以我添加MessageBuffer.h
到main.cpp
, 并将那些文件的位置添加INCLUDEPATH
到.pro
.
在那之前一切看起来都很好,我可以使用类和 Qt IDE 显示所有方法和所有内容。所以对我来说,它看起来像是找到了 .h 文件。
现在我像这样添加了MessageBuffer.lib
(VS2005/Debug build).pro
:
我还尝试了以下方法:
这是我的.pro
文件的内容:
他们都给了我同样的错误:(即使我不包括,我也会得到同样的错误.lib
)
有人可以帮忙吗?
makefile - 在 XP SP3 问题中使用 mingw 编译 pdcurses
我在我的机器上编译 pdcurses 3.4 时遇到问题。我的操作系统是 Windows XP SP3。
我的 mingw32-make 是 3.81 版。
根据自述文件,我所要做的就是发出一个 make 命令来完成它。所以我做到了。
这开始了制作过程,但它在两个地方的某个地方失败了。一个被忽略,另一个停止生成。
编辑:添加了整个日志,而不仅仅是错误。警告......它很大。如您所见,使用 xcopy 更改副本解决了复制问题。
有谁知道原因可能是什么和/或我如何修复它并编译 pdcurses?预先感谢。
-左撇子
mingw - MinGW - 将 GCC 版本 3.4.5 更新到版本 4.4
我已经从此处的说明(自动安装)成功安装了 MinGW 。但是,我想将 GCC 版本更新到 4.4。我是否只是覆盖我的安装目录 ( C:\MinGW\
) 中的文件?如果没有,我该如何正确安装这个新版本的 MinGW/GCC?
如果以前有人问过这个问题,我很抱歉。我进行了搜索,但找不到答案(在此处或在 MinGW.org 上)。
注意:我想在 GCC 版本 4 下安装文件: http: //sourceforge.net/projects/mingw/files/:gcc-full-4.4.0-mingw32-bin-2.tar.lzma
我希望得到更多的反馈。我很欣赏 Ravadre 的回应,但更多信息也会很棒!
linux - 在 Eclipse CDT 中的 Linux 机器上交叉调试 Windows 应用程序
我从 Windows 搬到了 Ubuntu Linux,现在我想在这里设置开发环境。问题是我需要
- C/C++ IDE 媲美 Visual Studio
- 生成 Windows PE 二进制文件的方法
- 调试 Windows PE 二进制文件的方法
第一次我尝试了 Code::Blocks。在这里,我找到了为交叉开发设置它的指南,因此我设法在 Wine 下编译和运行“Hello World”。此外,调试也很有效。
但后来我发现 Eclipse + CDT 插件是更高级的 IDE。我花了一些时间,终于编译并链接了项目。
现在我试图让 GDB 的 MinGW Insight 版本在 Eclipse CDT 中工作。Code::Blocks 指南中描述的使用调试器的简单方法将不再有效。我继续收到“创建会话时出错”消息。
所以我的问题是,如何在 Wine 下使用 MinGW GDB 作为 Eclipse 中的调试器后端?或者,Linux->Windows 交叉开发的最佳 IDE 是什么?
c++ - 构建管理:Eclipse 项目与 Eclipse 托管 Make 项目
我在 Windows 下开发,并使用 Eclipse 和 CDT 开发 C++ 应用程序。
现在,对于构建管理,我可以创建一个普通的C++ 项目,Eclipse 将完全管理构建(使用适当的参数调用 g++ 编译器),或者我可以创建一个托管 Make C++ 项目,Eclipse 将管理 Makefile,然后在该 Makefile 上调用 make (在构建项目时)这反过来将完成构建过程。
使用其中一种方法而不是另一种方法有什么好处吗?
编辑:我不是在谈论 Managed Make vs Standard Make,而是在谈论 Make vs Eclipse。昨天我尝试在一个根本不包含 Make 的系统上在 eclipse 下编译一个 C++ 项目,并且该项目编译得很好,这意味着 eclipse 可以完全自行管理构建,这使最初的问题成为焦点:我需要制作?; 我可以单独使用eclipse。
那是我的问题...
windows - 使用 OpenSSL for Windows 进行交叉编译
我正在尝试从 Ubuntu 为 Windows 编译 oauth-utils http://mir.dnsalias.com/oss/oauth/start 。我之前(几个月前)在 Windows 上编译过它,但想尝试交叉编译。
我使用mingw32 ok 构建了openssl,并将libssl.a 和libcrypto.a 放在正确的位置。链接器现在正在查找库(耶!)但我收到以下错误:
有什么想法可能导致这种情况吗?
谢谢。
winapi - 在 POSIX 项目中添加对 Windows 的支持......有多痛苦?值得付出努力吗?
我正在尝试/考虑使CppCMS - C++ Web 框架项目更加跨平台。
今天,我可以轻松地支持 Linux、OpenSolaris、FreeBSD 甚至 Cygwin。但是当涉及到 Native Windows 时,它变得非常痛苦:
情况概述:
- 我是 POSIX/Linux 开发人员,对 Visual Studio 和 Win32 API 等原生 Windows 开发工具几乎不熟悉。然而,我为这个平台做了一些工作,所以我理解 Windows 是完全不同的世界的局限性和事实。
这是使用在 Unix 世界中流行的 API 的 Web 项目,例如:在大多数 UNIX Web 服务器中实现的 CGI、FastCGI 和 SCGI;但我知道我无法将它与 IIS 一起使用,因为它不支持 TCP/IP 上的 FastCGI(仅限 Windows 管道)。
因此,即使它可以工作,它也可能只能在 Apache 的 Windows 端口上运行。
我非常依赖 POSIX API:
- Pref-forking 允许在崩溃的情况下保持高生存性(在 Windows 下不支持),因此此功能将丢失。
- 我使用了一些文件锁定工具(但我可能会在不分叉的情况下放弃它们)
- 我大量使用原生 pthread,甚至可以用 Boost.Thread 替换它们
- 我可能永远无法支持 Visual Studio(可能是支持 C++0x 的 2010 年),因为我使用的大多数编译器都支持 C++0x decltype/auto 功能或 typeof/__typeof__ 扩展:gcc,英特尔,太阳工作室。(说实话:没有它们我也可以工作,但它让框架用户的生活变得更加轻松。
- 我非常依赖自动工具,我不能用 CMake、bjam 或朋友来代替它们,因为在支持国际化、交叉编译、包管理时,它们只是没有给我一个解决方案。
- 有许多烦人的点,例如缺少 gmtime_r 或 windows 下的 localtime_r 以及许多其他只需要我重写它们或用第 3 部分库替换它们的点。
- 仍然有许多“类 UNIX”库可以移植到 Win32,例如:iconv、gcrypt 和其他一些像 libdbi 这样几乎没有移植的库,它们对 Windows 有很多限制。
底线:
有很多重要的工作要做,即使完成了,它也可能只能使用 MingW 工具而不是Windows 程序员熟悉的“本地”工具。
所以,我的问题是:
- 这样的 MingW 端口值得努力吗?这是否有助于建立更大的社区?
- 有没有人知道将大型项目从 POSIX 环境移植到 Win32 API 是多么痛苦?
- 它对 Windows 开发人员有用吗?
编辑:
对我来说,了解有多少 Windows 开发人员更喜欢使用开源开发工具(MingW)而不是像 VS 这样的微软开发解决方案对我来说也很重要。
编辑#2:关于“本机”Windows 解决方案和 IIS 的说明。
事实上,用 IIS 运行框架确实是个难题。我解释:
该项目涉及标准Web 服务器 API,如FastCGI或SCGI,允许通过单套接字接受许多请求。因此,在应用程序方面,我接受新请求并继续它并返回答案。有时几个线程处理多个请求。
因此,实现一个或两个标准协议,我打开与任何现有服务器的通信:Apache、lighttpd、nginx、切诺基......或任何其他服务器;IIS 除外
IIS 实现了 FastCGI,但是……它只支持每个本地进程只有 1 个连接,仅由 Web 服务器控制……
所以......绝对没有标准方法可以将我的应用程序连接到 IIS。
请注意,我实现了标准的 Web 服务器 API,我没有实现 IIS 专有的 ISAPI 和 Apache 的专有 API,甚至第二个对于针对 UNIX 世界更重要。
所以,只是 Windows IIS Web 世界还没有真正准备好与这样的项目合作,所以如果有人在 Windows 下使用它,它将与更开放的 Web 服务器一起使用。
c - 使用 MinGW 在 Windows 上编译小型 Gcc 项目
所以我已经用 C++ 编程将近 2 年了,而在整个过程中,我一直很高兴使用具有可爱的项目设置和自动链接等的 IDE (VS)。我一直远离任何需要我通过 makefile 编译的外部库,或者至少是那些用于 linux 环境/其他编译器的库。
无论如何,我现在想使用一个超级方便的实用程序(Bob Jenkins Perfect Minimal Hash),但它需要我通过 makefile 进行编译,不仅如此,还需要使用 g++ 编译器。
我继续并获得了 mingW32-make 实用程序,现在正试图让它工作。我现在在哪里:
- 成功安装minGW
- 成功调用 make 实用程序
- 未能成功制作项目。
我得到的错误是:
C:\gen_progs\ph>mingw32-make
mingw32-make: *** 没有规则来制作目标
lookupa.c', needed by
lookupa.o'。停止。
和makefile本身:
现在这个错误似乎是合理的,至少从我对makefile的最低理解来看,我有所有引用的.c、.h文件,但是我没有.o文件,而且似乎没有任何关于如何制作的说明这些。所以我的问题是:
我是否调用 make 实用程序错误?还是我需要先编译目标文件?或者......我需要在make文件中添加一些东西吗?
我再次拥有所有引用的 .c 和 .h 文件。
编辑:对不起,我实际上错过了那个似乎已经消失的特定文件。但是,将其添加回来是我现在得到的错误:
qt - QMAKE 中的 GNU make --jobs 选项
我正在使用 qmake 为我们正在开发的小型 Qt C++ 应用程序生成 MinGW32 Makefile。我的问题:所有那些双/四核 CPU 都闲置在那里,而只有一个线程在构建。为了使事情并行化,我尝试通过 --jobs 4 进行制作,但问题是 qmake 生成了一个通用的 makefile,其中 make 再次使用 -f 调用。
生成makefile时是否可以强制qmake添加选项?或者也许还有另一种方法可以完全在 qmake 之外设置选项?我无法编辑那个特定的 Makefile,因为它是每次构建时自动生成的。