草庐IT

MinGW-w64

全部标签

c++ - MinGW:C++ 编译器无法创建可执行文件

我正在尝试使用MinGWomwindows7编译旧的C++代码(./configure、make..等)但出了点问题。如果我的问题很愚蠢,我很抱歉,但我仍然是初学者!其他帖子中没有类似的错误详细信息。请问有什么帮助吗? 最佳答案 好的……转储MSYS和MinGW(.org)下载并安装MSYS2.启动MSYS2shell,输入pacman-Syumingw-w64-i686-gcc或pacman-Syumingw-w64-x86_64-gcc想构建32位或64位的东西吗?你可以同时安装它们,它们可以愉快地并存)。如果pacman升级了

c++ - MinGW 在 Windows 上制作

我在我的Windows8.1机器上安装了MinGW,我正在使用它来开发可以移植到Unix/Linux系统的C++代码,以代替能够双启动Ubuntu或类似系统。我有一个应该用于构建项目的通用makefile,但由于某种原因,Windows上的find命令无法找到项目的源文件。我收到此错误:Filenotfound-*.cppMakefile:32:***mixedimplicitandnormalrules.Stop.这是我使用的makefile(我改编自this博客,以及博客中的基本项目结构:CC:=g++#Thisisthemaincompiler#CC:=clang--analyz

windows - 如何在 Windows 上的 x86-64 架构上的程序集中注册结构化异常处理程序?

在x86中,您可以使用以下3条指令简单地注册您的处理程序。pushaddrOfExceptionHandlerpushdword[fs:0]mov[fs:0],esp但这不适用于64位Windows。我读过x64异常处理程序是基于表的,VisualC++的__try和__exceptblock硬连接到异常目录中。这是否意味着微软完全放弃了这种旧方法?那么有没有办法从代码中以编程方式注册处理程序? 最佳答案 Windowsx64使用基于表的异常处理(与使用基于帧的处理的x86不同)。每个图像都有一个与其关联的RUNTIME_FUNCT

windows - mylibrary.dll_unloaded 出现 BEX64 错误

我有一个使用LoadLibrary动态打开DLL(mylibrary.dll)的可执行文件。当应用程序完成时,它崩溃了。浏览错误报告,结果发现它给出了一个事件类型BEX64。其中一个参数是mylibrary.dll_unloaded。剩下的就是一堆地址。有谁知道这意味着什么以及问题的可能来源是什么?我可以访问所有相关代码的源代码。 最佳答案 我前段时间遇到了同样的问题。当我在退出时调用FreeLibrary()时,程序崩溃了。原因是一个正在运行的线程,它是由我的图书馆启动的。在调用FreeLibrary()之前检查库中是否有任何正在

python - 有没有办法强制 Python 在 Windows 上使用 64 位整数?

我注意到,每当任何整数超过2^31-1时,我的数字繁重的代码都会大幅减速,尽管我在64位版本的Windows上使用64位构建的Python。这似乎是true在Python2.7和Python3上。我读过thatWindows将其long设为32位,但这并不意味着我无法使用64位数字。有没有办法通过类或模块甚至不同的Python构建来使用64位整数? 最佳答案 my_array=numpy.array(my_list,dtype=numpy.int64)也许吧? 关于python-有没有办

c - Linux (gcc) 和 Windows (mingw32 gcc) 之间具有不同位域的结构大小

类似的问题,但特定于打包结构:WhywouldthesizeofapackedstructurebedifferentonLinuxandWindowswhenusinggcc?我正在为Linux和Windows构建一个共享库,它需要通过网络连接处理结构良好的数据。我在Linux上使用gcc4.8.2,并使用i686-pc-mingw32-gcc4.8.1为Windows目标交叉编译。我制作了这个小程序来演示这个问题(请注意GCC属性已被注释掉,保留它们以供引用):#include#include#includetypedefuint16_tword_t;typedefenum//__

c# - SetWindowsHookEx 将 32 位 DLL 注入(inject) 64 位进程,反之亦然

我一直在开发一个需要监控另一个进程上的线程特定鼠标事件(WH_MOUSE)的应用程序,遇到了一些非常奇怪的事情.在发现thisisnotpossibleviaexclusivelymanagedcode之后如果我不想使用WH_MOUSE_LL并且我需要一个nativeDLL导出以将其自身注入(inject)到目标进程中,我会根据我能找到的零散文档在C++中着手创建它在这个主题上,然后尝试使用它连接到记事本。虽然根据GetLastWin32Error注入(inject)成功,我没有收到鼠标事件的通知。在几乎放弃并选择低级全局Hook选项后,我重新阅读了thisarticle的“备注”部分

c++ - 既然我有 msys2,我可以删除之前在 mingw 上安装的实例吗?

我正在尝试学习C++编程。我正在使用CodeblocksIDE在WindowsVista上编写这些程序,但由于我要学习Linux,所以我想学习编写具有尽可能多的可移植性的程序。我已经下载了用于Codeblocks的mingw编译器,但是在尝试下载GTK依赖项以尝试使用GUI时,我下载了msys2。我注意到这个程序还让你下载Mingw32和/或mingw64。这些包是否足够完整以至于我可以删除我以前的mingw实例,或者我是否需要保留我已经下载的其他mingw包以编译和运行我的程序? 最佳答案 是的,MSYS2是一个完整的开发环境,带

在 Linux 上使用 MinGW 为 Windows 编译 Gnu11

我有一个C程序;它使用gcc-std=gnu11iter.c-oiter进行编译和链接,因为我正在使用一些GNUstring.h扩展,例如strndup,strnlen和strsep。我想在UbuntuLinux上使用包i686-w64-mingw32-gcc为Windows编译这个程序。$i686-w64-mingw32-gcc-std=gnu11iter.c-oiter32.exeInfileincludedfromiter.c:1:0:iter.h:Infunction‘str_chomp’:iter.h:166:15:warning:implicitdeclarationoff

windows - Windows下使用通过MSYS2安装的cmake 3.5.2, "MinGW Makefiles"生成器丢失

我正在尝试使用MinGW作为编译器在Windows下制作cmake的helloworld测试。Thisanswer建议使用-G标志运行cmake,如下所示:cmake-G"MinGWMakefiles".但是,如果我这样做,我会收到一条消息说这不是已知的生成器。事实上,运行cmake--help,在Generators部分下它列出了以下生成器:如您所见,未列出“MinGWMakefiles”。如果这是相关的,我已经安装了MinGW并在我的系统上的常用文件夹C:\MinGW中工作。我还通过WinBuilds和MSYS2安装了MinGW-w64,同样是在默认安装文件夹中。我正在使用cmak