草庐IT

c++ - MinGW 错误 : ‘thread’ is not a member of ‘std’

我正在尝试为Windows交叉编译一个简单的应用程序:#includevoidFunc(){return;}intmain(){std::threadthr1(Func);thr1.detach();return0;}这就是我得到的:$i686-w64-mingw32-g++-static-libstdc++-static-libgcc-pipe-g-std=c++0x./threadstutor.cpp./threadstutor.cpp:Infunction‘intmain()’:./threadstutor.cpp:8:3:error:‘thread’isnotamemberof

c++ - 如何在 MSVC 中使用使用 MingW 编译的库?

我已经用MingW/MSYS编译了几个库...生成的静态库总是.a文件。当我尝试将库与MSVC项目链接时,VisualStudio会抛出“未解析的外部符号”......这意味着.a静态库与MSC++链接器不兼容。我认为它必须转换为与MSVC兼容的.lib文件。.a和.lib都只是.o或.obj文件的AR存档,那么有什么方法可以在MSVC项目中使用MingW编译的库?还是我必须在一个编译器/链接器中编译/链接所有内容-仅限MSVC/仅限MingW?据说MingW编译器与MSVC兼容。我阅读了一些关于这个主题的帖子,但他们大多说将文件重命名为.lib应该可以完成工作,但不幸的是它对我不起作

c++ - 我可以强制 Visual Studio 使用 mingw 编译器吗

我不喜欢qtcreator作为IDE并且喜欢VS,但我必须完全使用mingw编译器。悲伤的故事:'( 最佳答案 只需设置一个makefile项目-这样您就可以告诉VC运行什么命令来编译您的文件。除了VisualStudio项目之外,您还必须维护一个makefile,但这并不是什么大问题,因为在这种情况下,VS项目只是您希望VisualStudio了解的文件列表。不幸的是,VS调试器在这种情况下没有用,但IDE的所有代码导航都可以正常工作。 关于c++-我可以强制VisualStudio使

c++ - 是否不再包含在 MinGW 和/或 MSYS 中?

我在我的Windows7计算机上安装了MinGW和MSYS。我将C:\ProgramFiles(x86)\MinGW\bin添加到我的路径中。gcc和g++等命令有效,但make无效。我查看了目录,没有名为make的可执行文件,即使我安装了所有组件。有一个名为mingw32-make的文件。还有其他以mingw32-为前缀的文件,如c++、g++、gcc、gcc-4.6.1、gfortran等。但是,C:\ProgramFiles(x86)\MinGW\msys\1.0\bin中有一个make。如果我打开MinGWShell并输入make,make就会执行。但是,它不会从Windows

c++ - windows下使用mingw/gdb无法调试eclipse helios cdt上的小程序,控制台死机

我一直在尝试使用EclipseCDT来做一些c++示例,我可以使用run命令很好地运行它们,但是每当我尝试调试时,控制台窗口就会卡住,我可以输入,但是程序无法继续。当我调试时,我在控制台窗口上得到以下输出(没有断点,但由于默认设置而在main上中断):Hello,worldputyourname:15^running当我输入内容并点击enter时,继续按钮被禁用并且不执行任何操作。15是一个随机数,有时是16、20等。如果我在eclipse下运行程序,我会得到输入提示就好了:Hello,worldputyourname:testHellotest这是我尝试调试的代码:#include#

c++ - Mingw libgcc_s_sjlj-1.dll 丢失

我正在尝试使用mingw在代码块中编译程序。我必须包含libw2_32.a我没有得到任何编译器错误。该程序编译正常,但是当我想运行它时,它说libgcc_s_sjlj-1.dll丢失。我在我的mingw安装中搜索了这个dll,但我找到的唯一dll是:libgcc_s_dw2-1.dll我做错了什么? 最佳答案 使用mingw的g++编译时必须使用-static-libgcc以消除对LIBGCC_S_SJLJ-1.DLL的依赖。您可以通过将static-libgcc添加到链接器标志来做到这一点。我在这篇文章中找到了这个信息:http:

c++ - 如何减小 MinGW g++ 编译器生成的可执行文件的大小?

我有一个简单的“Helloworld”C++程序,它在WinXP下由MinGWg++编译器编译为500kB可执行文件。有人说这是由iostream库和libstdc++.dll的静态链接引起的。使用-s链接器选项有点帮助(减少50%的大小),但我只对是否可以使用动态链接将libstdc++.dll与可执行文件一起复制?如果可以,如何实现?已解决:我使用的是MinGW3.4。现在我更新到最新的MinGW4.6,大小减少了90%到50kB,使用-s选项甚至到了9kB,这完全足够了。无论如何-感谢大家的帮助。给你我的结果C++HelloWorld程序使用iostreamMinGW|noopt

c++ - 哪个 MinGW 文件用作 C++ 编译器

我刚刚安装了MinGW,在bin文件夹中我可以看到7个编译我的程序的.exe文件:c++.exeg++.exemingw32-c++.exemingw32-g++.exegcc.exemingw32-gcc.exemingw32-gcc-4.4.1.exe我的小程序(testprog.cpp)都能正确编译;a.exe文件在bin文件夹下生成,运行正常。它们之间有什么区别,我应该使用哪一个?另外,如何在每次编译成功时自动将输出文件的名称从a.exe更改为testprog.exe? 最佳答案 这些遵循gcc命名约定。c++.exe是系统

c++ - 使用 Win32 线程模型时,MinGW-w64 是否支持开箱即用的 std::thread?

在安装MinGW-w64工具链时,我选择了Win32线程模型,因为它提供了比POSIX对应物更好的性能。我自己没有资格对此声明进行基准测试,但是here'sasourceforit.起初我认为这个选项只会影响GCC运行时的内部工作,而不会阻止我在代码中使用C++11线程,基于thisanswer和thiscomment来自其他用户rubenvb。然而,情况似乎并非如此。std::thread支持似乎在此MinGW-w64安装中不存在。我正在从命令行调用g++,除了-std=c++11之外没有其他选项。此时我不确定:rubenvb弄错了,实际上需要在POSIX线程模型下安装MinGW-w

c++ - 如何将 boost 库安装到我的 MinGW 编译器?

我在WindowsMinGW安装上使用g++从命令行编译。我如何获得boost...从概念上来说,或者如果它很容易...我需要下载和安装什么? 最佳答案 我知道这是一个老问题,但为了将来访问此页面的任何人引用,请尝试此网站,http://nuwen.net/mingw.html他们已经完成了所有艰苦的工作,所以您不必这样做。此页面上的最新发行版具有boost1_52_0(这是我撰写本文时boost网站上的最新版本),包括我相信您要求的单独编译的库(例如boost线程、boostregex等)