Articles of mingw w64

用MinGW-w64进行testing

以这个简单的程序 #include <stdio.h> #include <string.h> #include <errno.h> int main (void) { printf ("ERROR %d %s\n", ETIMEDOUT, strerror (ETIMEDOUT)); return 0; } 如果你用Cygwin gcc编译它,它运行良好 $ gcc ac $ ./a ERROR 116 Connection timed out 如果用MinGW-w64 gcc编译它,它不会给出正确的错误信息 $ i686-w64-mingw32-gcc ac $ ./a ERROR 138 Unknown error 我怎样才能得到MinGW – W64把正确的错误信息?

Python 3.4:编译用于64位窗口的cython模块

我有一个.pyx模块,我一直试图通过各种方式编译用于Windows上的64位python 3.4,但没有成功。 经过大量的试验和错误,它与编译 python setup.py build_ext –inplace –compiler=mingw32 但是,当然,这不适用于64位的Python。 用msvc作为编译器,错误是 File "C:\Python34\lib\distutils\msvc9compiler.py", line 287, in query_vcvarsall raise ValueError(str(list(result.keys()))) ValueError: ['path'] Windows 7的 安装了用于Windows 7和.NET Framework 4的Microsoft Windows SDK 在C:\ Program Files(x86)中似乎有一些Microsoft Visual Studio 10.0的东西(包括vcvarsall.bat) 解决scheme不围绕distutils也是受欢迎的。 —编辑:其他信息 我现在修改distutils来识别mingw-w64按照http://bugs.python.org/issue11723 。 然后我使用gendef和dlltool创build了libpython34.a,但是得到一个错误 c:\Python34\libs/libpython34.a: file not recongnized: File truncated 运行时 python setup.py build_ext –inplace –compiler=mingw64

如何诊断,debuggingMinGW-get GUI(guimain.exe)崩溃?

最初,我想使用MinGW-get GUI来安装更新的MinGW软件包,但是当从“安装”下拉菜单(无论是否更新目录)中select“标记所有升级”时,它会崩溃。 现在,我想知道为什么guimain.exe崩溃。 我如何诊断和debugging这个持久性问题? 我对GDB非常熟悉,但是我从来没有用过它。 我不承诺使用Visual Studiodebugging器。 我想我需要在最新的MinGW安装程序分支中使用一些辅助二进制文件或debugging库: https : //sourceforge.net/projects/mingw/files/Installer/mingw-get/mingw-get-0.6.2-beta- 20131004-1 / 任何人都可以请指导我? 任何援助或build议阅读赞赏。

MinGW-w64的gcc和Address Sanitizer

安装MinGW-w64 5.1我发现-fsanitize=address是可用的。 它编译好,当它开始链接时,我得到了成千上万的: undefined reference to '__asan_report_load1' undefined reference to '__asan_report_load4' 我GOOGLE了,发现libasan引用的各个地方,但也评论说,当你包含-fsanitize=address它会自动包含该链接库。 我search了“asan”的MinGW-w64 5.1安装目录,并没有发现任何地方。 MinGW-w64中需要添加哪些地址清理function? 谢谢。

程序入口点__gxx_personality_sj0不能位于…

我设法(以某种方式)与用于32位Windows的Mingw-w64项目编译器交叉编译Qt5。 所有的库已经安装到~/i686-w64-mingw32 。 我有一个基于CMake的Qt项目,我正在尝试交叉编译。 按照这些说明 ,我已经能够得到项目编译。 到现在为止还挺好。 不幸的是,当在Windows上执行结果二进制文件时,我最终得到一个错误: “程序入口点__gxx_personality_sj0不能位于dynamic链接库[application_name] .exe中” * [application_name]是主可执行文件的完整path 我听说这种types的问题有时可能是由混合不同版本的MinGW编译的库引起的。 但是这个机器上的所有东西(所有的库和可执行文件)都是由相同的编译器( i686-w64-mingw32工具链)编译的。 此外,我觉得奇怪的是,错误抱怨应用程序可执行文件丢失的入口点,而不是一个.dll文件。 什么可能导致这个错误,可以做些什么来弥补呢?

为什么Git Bash不能运行我的可执行文件?

我在git-for-windows Git Bash上。 我无法在命令行上运行可执行文件: Pedr@Abc-07 MINGW64 /c/dev $ ls sqlite3.exe sqlite3.exe* Pedr@Abc-07 MINGW64 /c/dev $ sqlite3 bash: sqlite3: command not found 为什么这样?

在linux下用mingw32交叉编译链接libcurl for Windows

我已经使用mingw32编译了libcurl,并试图用我的Linux机器上的mingw32作为Windows系统的程序来链接它。 我输出的文件是libcurl-4.dll libcurl.a libcurl.la libcurl.lai。 我已经将它们包含在我的mingw32 libs文件夹中:/ usr / x86_64-w64-mingw32 / lib 我能够find一些与libstdc ++和libgcc链接的其他主题,以便在执行时关注依赖性错误,但是当尝试添加libcurl.a时,它不会编译期间。 我使用了以下内容: $ x86_64-w64-mingw32-g++ main.cpp -o hello.exe -static-libgcc -static-libstdc++ -static "/usr/x86_64-w64-mingw32/lib/libcurl.a" -lpthread 但是,我不能得到它使用libcurl.a,并继续收到这些错误。 /tmp/ccIceRus.o:main.cpp:(.text+0xde): undefined reference to `__imp_curl_easy_init' /tmp/ccIceRus.o:main.cpp:(.text+0x106): undefined reference to `__imp_curl_easy_setopt' /tmp/ccIceRus.o:main.cpp:(.text+0x122): undefined reference to `__imp_curl_easy_setopt' /tmp/ccIceRus.o:main.cpp:(.text+0x13e): undefined reference to `__imp_curl_easy_setopt' /tmp/ccIceRus.o:main.cpp:(.text+0x159): undefined reference to `__imp_curl_easy_setopt' /tmp/ccIceRus.o:main.cpp:(.text+0x169): undefined reference to […]

如何使用mingw-w64编译和链接32位Windows可执行文件

我使用Ubuntu 13.04并使用apt-get install mingw-w64 。 我可以使用下面的命令编译并链接我的程序的一个可用的64位版本: x86_64-w64-mingw32-g++ code.cpp -o app.exe 其中生成一个64位的app.exe文件。 我用什么二进制或命令行标志来生成一个32位版本的app.exe?

mingw-w64安装程序中选项的含义

在MinGW-W64在线安装程序中,您可以select几个字段。 不过,我找不到任何文件,我做的猜测不给我我想要的行为。 显然,这个项目已经做了很多工作,所以看起来可惜的是,由于缺乏基本的文档资料,这个问题被阻碍了。 “版本”和“体系结构”字段是不言自明的,但我遇到的其他字段是(以当前安装程序显示的值): 线程 ,选项posix和win32 例外 ,选项dwarf和sjlj build立修订 ,选项0 。 在我以前的安装中select的值是win32 , seh和1 (显然这个选项自那时以来已经改变了,但是我不明白什么是什么)。 每个选项有哪些优缺点,特别是线程模型和exception处理,以及哪个版本是“最好的”? 我遇到的使用x86_64-win32-seh-rev1的具体问题是: 不支持std::thread和std::condition_variable 在debugging时(使用Code :: Blocks作为IDE),如果抛出exception,它不会跳转到exception处理程序; select下一行将不执行任何操作3次,然后中止运行。 我可以应付debugging问题,但是如果能够使用C ++ 11线程将会非常好。

“双目标”MinGW-W64是不是真的是双目标?

当我尝试使用MinGW-build编译64位主机上的32位程序时: T:\mingw64>.\bin\g++ -m32 Test.cpp 我得到: t:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.8.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible t:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.8.0/libstdc++.dll.a when searching for -lstdc++ t:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.8.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible t:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.8.0/libstdc++.a when searching for -lstdc++ t:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.8.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible t:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.8.0\libstdc++.a when searching for -lstdc++ t:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.8.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible t:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.8.0/libstdc++.dll.a when searching for -lstdc++ t:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.8.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible t:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.8.0/libstdc++.a when searching for -lstdc++ t:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.8.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lstdc++ t:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.8.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible t:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.8.0/../../../../x86_64-w64-mingw32/lib/libmingw32.a when searching […]