想在Windows上使用MinGW作为VC++的替代品,但担心兼容性问题。我考虑的是Windows上的行为和性能(MinGW编译的EXE可能会出现任何问题)。此外,在调用WindowsAPI、第三方DLL、生成和使用兼容的静态库以及将同一应用程序的各个部分与两个编译器混合时遇到的其他问题。 最佳答案 首先,MinGW不是一个编译器,而是一个环境,它与gcc捆绑在一起。如果你想用gcc编译代码,让它调用WindowsAPI,没关系,因为它是C;但对于由MSVC生成的C++DLL,您可能会有一个刺耳的唤醒调用。主要问题是,在C++中,每
我正在尝试在win764位上配置我的NetBeans,以使用MinGW-w64。所以我将以下编译器路径放入%PATH%变量中:C:\mingw-w64-bin_i686\mingw\binC:\minGw-MSYS\msys\binC:\mingw-w64-bin_i686\libexec\gcc\x86_64-w64-mingw32\4.7.0然后我打开了NetBeans并进行了配置:TheconfigurationinNetBeans我试图编译一个小测试程序但我收到了这个错误:g++.exe:fatalerror:-fuse-linker-plugin,butliblto_plug
我的应用程序崩溃了,因为我调用的库函数更改了ESP,尽管它被声明为cdecl。库(libclang.dll)是使用MinGW编译的,我在VC++项目中使用它。这些函数作为C函数导出,DependencyWalker告诉我它们具有正确的cdecl调用约定。通过包含Clang的“index.h”文件,使用dllimport将函数导入到我的项目中。似乎并不是所有函数都破坏了ESP,因此一些函数执行成功,其他函数导致崩溃。这是一个工作函数的集合://calltoclang_getNumDiagnostics(TU);-works!5AF3EFABmovesi,esp5AF3EFADmoveax
我试图在一个项目上使用GLFW,但是当我编译它时,我遇到了很多undefinedreference错误,而其中许多错误都在库文件(libglfw.a)上。我都试过了,编译库并下载它,但没有成功。我正在使用在Windows732位netbeans上运行的MinGW和MSYS。GLFW版本为2.7.3;这些是错误:"/usr/bin/make"-fnbproject/Makefile-Debug.mkQMAKE=SUBPROJECTS=.build-confmake[1]:Enteringdirectory`/c/Users/Raphael/Documents/NetBeansProjec
我正在开发一个程序,该程序使用autotools作为其构建系统并在Linux上编译良好。为了为windows构建,我试图让mingw交叉编译器为windows工作。现在,当我在linux上编译并移动到windows时,我当然会丢失一些默认情况下未安装在windows上的dll。这会导致缺少dll错误。由于LGPL的限制,我无法静态链接我的程序。所以我的问题是在这种情况下交叉编译的正确方法是什么?我觉得我需要将我的exe包装在一个安装程序中,该安装程序会自动解析并安装Windows的dll依赖项,但我无法找到解释如何执行此操作的内容。基本上我在考虑yum/apt-getforwindow
帖子“HowtogenerateastacktracewhenmygccC++appcrashes”解释了应用程序崩溃时如何生成堆栈跟踪。但gcc版本不适用于windowsMinGW。事实上,由于缺少headerexecinfo.h,它甚至无法编译。在windowsxp及更高版本上是否已经有适用于MinGW的东西?编辑Stackwalking可以通过下面提到的步骤实现。但是当我在异常发生后尝试遍历catchblock中的堆栈时,我没有得到想要的结果。我只能得到抛出异常的函数的名称,然后它显示列表-->main-->等等步骤:为帖子提供的第一个答案Win32APIstackwalkwit
我是mingw的初学者。请专家回答我的问题。我做了以下过程:我已经为C++编译器安装了mingw-get-setup.exe我还为C++IDE使用了Eclipse-cpp-europa-winter-win32我还使用了以下uer环境变量:""\bin;""\MSYS\1.0\local\bin;""\MSYS\1.0\bin但是当我运行我的程序时出现“没有二进制文件启动失败”错误。我在运行前已经构建了程序。我还在控制台中收到以下错误:构建项目测试的配置调试**InternalBuilder用于构建****g++-otest.exe测试.og++:fatalerror:-fuse-li
我正在尝试使用mingw构建包含在GNUbinutils中的gold链接器。我采取的步骤-使用安装程序安装mingw和所有包。使用Windows安装程序将Windows版本的FLEX安装到默认位置。在mingwshell的gold链接器目录中运行./configure,这似乎工作正常运行make,这是我遇到一些错误的地方。我已经将./configure和make的完整输出包含在此处的pastebin中:http://pastebin.com/1XLkZVVm但重要的是:make[2]:Enteringdirectory`c:/binutils-2.23.1/binutils-2.23.
我正在使用cdt/mingw在Windows上进行编译。我喜欢免费编译警告。我收到以下警告:auto-importinghasbeenactivatedwithout--enable-auto-importspecifiedonthecommandline.下面的页面建议处理它的方法是将那个选项添加到ld的命令行。4.8ldandWIN32(cygwin/mingw)问题是,如何更改内置工具链的默认命令行开关?我也想设置gcc的警告级别。 最佳答案 您必须通过gcc的-Wlparameter将参数发送到链接器:-Wl,optionP
我是Eclipse的新手。我使用EclipseIndigo和MinGW来编写C++程序。创建一个Helloword项目没问题,但我可以运行该程序。它在启动时已被终止!这是构建日志(Ctrl+B):"****构建项目Hl的配置调试********InternalBuilder用于构建****无需为Hl构建”这是按Ctrl+F11运行时得到的结果:“"谁能告诉我如何解决这个问题? 最佳答案 您需要确保将C:\MinGW\bin包含到路径环境中此外,请确保您不包含这样的路径->C:\MinGW\msys\1.0\bin如果这样做,构建的应