草庐IT

c++ - 为什么 VS 要求数组大小为常量,而 MinGW 不需要?有办法解决吗?

我已经将我使用code::blocks编写的Mingw的一些代码移植到visualstudio和他们的编译器,它发现了很多错误,我的数组大小必须是常量!为什么VS需要恒定大小而mingw不需要?例如constintlen=(strlen(szPath)-20);charszModiPath[len];len变量用红色下划线表示它是一个错误并表示“预期的常量表达式”我能想到的解决这个问题的唯一方法是......char*szModiPath=newchar[len];delete[]szModiPath;我是否必须将所有内容都更改为动态的,或者在VS中有其他方法吗?

c++ - Netbeans 和 MinGW-w64

我正在尝试在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

c++ - Windows 上 Mingw 的 DLL 依赖项

我正在开发一个程序,该程序使用autotools作为其构建系统并在Linux上编译良好。为了为windows构建,我试图让mingw交叉编译器为windows工作。现在,当我在linux上编译并移动到windows时,我当然会丢失一些默认情况下未安装在windows上的dll。这会导致缺少dll错误。由于LGPL的限制,我无法静态链接我的程序。所以我的问题是在这种情况下交叉编译的正确方法是什么?我觉得我需要将我的exe包装在一个安装程序中,该安装程序会自动解析并安装Windows的dll依赖项,但我无法找到解释如何执行此操作的内容。基本上我在考虑yum/apt-getforwindow

c++ - 使用 MinGW 在 C++ 中生成异常堆栈跟踪

帖子“HowtogenerateastacktracewhenmygccC++appcrashes”解释了应用程序崩溃时如何生成堆栈跟踪。但gcc版本不适用于windowsMinGW。事实上,由于缺少headerexecinfo.h,它甚至无法编译。在windowsxp及更高版本上是否已经有适用于MinGW的东西?编辑Stackwalking可以通过下面提到的步骤实现。但是当我在异常发生后尝试遍历catchblock中的堆栈时,我没有得到想要的结果。我只能得到抛出异常的函数的名称,然后它显示列表-->main-->等等步骤:为帖子提供的第一个答案Win32APIstackwalkwit

c++ - 在 Windows 上使用 MinGW 构建黄金链接器,未在此范围内声明 FLEX/bison 'YYSTYPE'

我正在尝试使用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.

c++ - 如何更改 eclipse cdt mingw32 中的内置工具链

我正在使用cdt/mingw在Windows上进行编译。我喜欢免费编译警告。我收到以下警告:auto-importinghasbeenactivatedwithout--enable-auto-importspecifiedonthecommandline.下面的页面建议处理它的方法是将那个选项添加到ld的命令行。4.8ldandWIN32(cygwin/mingw)问题是,如何更改内置工具链的默认命令行开关?我也想设置gcc的警告级别。 最佳答案 您必须通过gcc的-Wlparameter将参数发送到链接器:-Wl,optionP

c++ - Eclipse C++ MinGW - 无法启动程序<已终止>

我是Eclipse的新手。我使用EclipseIndigo和MinGW来编写C++程序。创建一个Helloword项目没问题,但我可以运行该程序。它在启动时已被终止!这是构建日志(Ctrl+B):"****构建项目Hl的配置调试********InternalBuilder用于构建****无需为Hl构建”这是按Ctrl+F11运行时得到的结果:“"谁能告诉我如何解决这个问题? 最佳答案 您需要确保将C:\MinGW\bin包含到路径环境中此外,请确保您不包含这样的路径->C:\MinGW\msys\1.0\bin如果这样做,构建的应

c++ - MinGW 链接单个 EXE

我安装了MinGW,我只想将我的程序链接到一个EXE文件中。我希望能够将此EXE文件提供给某人,而不必担心所有libgcc_s_dw2-1.dll、libstdc++-6.dll或任何其他DLL。有没有办法将所有必需的库静态链接到一个EXE中?我正在Windows7上开发。 最佳答案 链接库时可以使用-static选项,对于libgcc和libstdc++使用以下选项:-static-libgcc-static-libstdc++ 关于c++-MinGW链接单个EXE,我们在StackO

c++ - CMake 错误 : CMake was unable to find a build program corresponding to "MinGW Makefiles"

我正在尝试使用cmake为C++构建Box2D库。当我运行cmakegui时出现错误:CMakeError:CMakewasunabletofindabuildprogramcorrespondingto"MinGWMakefiles".CMAKE_MAKE_PROGRAMisnotset.Youprobablyneedtoselectadifferentbuildtool.CMakeError:CMakewasunabletofindabuildprogramcorrespondingto"MinGWMakefiles".CMAKE_MAKE_PROGRAMisnotset.Youp

c++ - 在 g++ (mingw) 编译的应用程序中使用用 visual studio 编译的库

是否可以在Windows上用g++(mingw)编译的应用程序使用visualstudio编译的库? 最佳答案 如果库是用C++编写的并且公开了C++接口(interface):否(因为名称修饰在g++和VC++之间不同)。如果库是用C编写的静态库(或使用extern"C"接口(interface)):yes,butcertaincaveatsapply.如果库是带有C接口(interface)的DLL:yes,butyou'llhavetocreateyourownimportlibrary.