草庐IT

c++ - MingW 上更新的 G++ 收到大量错误消息

我在使用MinGW的Windows10上,最近使用mingw-getupdate和mingw-getupgrade更新了我的g++。即使在完全重新安装MinGW之后,也会发生此错误。没有任何Google搜索会带来任何远程相关的内容。我试过编译#includeintmain(){}失败并出现以下情况:Infileincludedfromc:\mingw\include\wchar.h:208:0,fromc:\mingw\lib\gcc\mingw32\4.9.3\include\c++\cwchar:44,fromc:\mingw\lib\gcc\mingw32\4.9.3\inclu

windows - mingw 出问题

我对make和mingw有一个小问题。我通常使用Linux,我不太熟悉Windows的操作方式。C:\MingGW\bin在我的路径中(我可以通过Windows命令行直接启动g++或sh)但是当我尝试键入make时,我有以下错误:make:g++:commandnotfound我不知道使用哪个make(C:\MinGw\bin中没有make),我也不知道等效项其中在Windows中。我是否忘记了必要的步骤?感谢您的帮助。 最佳答案 改用mingw32-make。 关于windows-mi

c++ - MinGW + 提升 : undefined reference to `WSAStartup@8'

下面是我执行的D:\Just4Fun\software\>make-fMakefile.handsstestg++.exe-g-D_WIN32_WINNT=0x0601-ID:\Boost\boost_1_51_0-LD:\Boost\boost_1_51_0\stage\lib-LD:\MinGW\lib-lboost_system-mgw46-d-1_51-lboost_filesystem-mgw46-d-1_51-lboost_iostreams-mgw46-d-1_51-lws2_32-lwsock32-oTestSerial.exeTestSerial.cpp下面是结果C:

windows - 如何在 Windows 上从命令行启动 MingW 控制台 (GitBash)?

我正在尝试使用批处理文件自动设置我的工作环境。我无法从命令行启动MingW64控制台。start"""%ProgramFiles%\Git\bin\sh.exe"--login工作正常,但它似乎打开了一个与我正在寻找的不同的shell窗口。我将用图片解释这一点。打开的是一个默认的cmd风格的窗口,集成了bash。这个窗口甚至不能调整大小我想要的是我尝试使用命令start"""%ProgramFiles%\Git\git-bash.exe"--login-i-c/bin/bash但它似乎很快就关闭了打开后的外壳。如果我从资源管理器执行相同的文件,shell不会自动关闭。这是我的完整批处理

c++ - 导入库如何工作以及为什么 MinGW 不需要它们?

我查看了这个页面:AnIn-DepthLookintotheWin32PortableExecutableFileFormat它解释了链接器需要导入库,因为编译器无法区分正常函数调用和API函数调用。但他们还说__declspec(dllimport)将函数调用指定为API调用,因此链接器链接到__imp_[function-name].但是有了这个关键字,编译器应该知道这是对API函数的调用。为什么链接器还需要导入库?编译器可以通过在__imp_之前标记此符号为已导入到函数名称并可以调用函数指针(这是一个尚未解析的符号)并且链接器可以用IAT条目的地址替换这个符号(因为它认为这是一个

windows - mingw make 无法处理路径中的空格?

我正在尝试编译代码,即使用qmake创建的makefile。当我运行mingw32-make时,出现以下错误:cdbzip2-1.0.5\&&c:\QtSDK\Desktop\Qt\4.7.3\mingw\bin\qmake.exec:\DocumentsandSettings\user\MyDocuments\VisualStudio2010\Projects\meshlab\meshlab\meshlab\src\external\bzip2-1.0.5\bzip2-1.0.5.pro-oMakefileCannotfindfile:c:\Documents.Cannotfindf

windows - 在带有 MinGW 的 Windows x64 下使用 GNU 科学库 (GSL)

我在MicrosoftWindows(64位)上安装了MinGW和MSYS,在目录C:\MinGW中(MSYS目录是C:\MinGW\msys\1.0)。我已经从officialftp下载了最新的GNU科学库(GNUGSL)包.我已使用MSYS成功执行configure和make,如GSL包中的INSTALL文件中所述。这意味着,在MSYS命令行界面中,在MSYShome目录中,我插入了:$./configure$make$makeinstall这会在MSYS目录(C:\MinGW\msys\1.0)下生成一个local目录,包括目录bin、include、lib和share。我已经成

c++ - Mingw x64 Windows : plugin needed to handle lto object

当我尝试使用64位mingw(x86_64-5.1.0-posix-seh-rt_v4-rev0)编译我的项目时,我收到消息:BFD:my/project/dir/filename.cpp.obj:pluginneededtohandleltoobject对于每个源文件。然而,当我使用32位mingw(i686-5.1.0-posix-dwarf-rt_v4-rev0)编译时,一切正常。我的标志是:CXX_FLAGS"-fno-exceptions-fno-rtti-std=c++14-O3-fstrict-aliasing-flto-fomit-frame-pointer-march

c++ - Windows/MinGW下相当于 "SIGINT"(posix)信号,用于捕获 "CTRL+C"

我正在windows下移植一个Linux/gcc程序,并为两者实现了常见的异常处理。我想知道什么是MinGW/gcc的SIGINT信号。这是我在Linux下的处理方式:staticvoidhandler(intsig){//Catchexceptionsswitch(sig){caseSIGABRT:fputs("CaughtSIGABRT:usuallycausedbyanabort()orassert()\n",stderr);break;caseSIGFPE:fputs("CaughtSIGFPE:arithmeticexception,suchasdividebyzero\n"

c++ - MinGW 和 std::thread

所以我一直在尝试使用MinGW编译器让下面的代码在Windows上编译运行。#include#includevoidtest(){std::cout我正在使用以下命令进行编译:g++-std=c++11test.cpp-otest.exe现在的问题是应该使用的MinGW版本,我已经尝试了所有我知道的版本。MinGW构建:thread-win32MinGW构建:thread-posixMinGW-w64:stdthreadexperimentalrubenvbMinGW-w64:stdthreadexperimentalrubenvb4.71号不起作用,因为GCCapparentlyon