草庐IT

unknown-mingw

全部标签

c++ - 在 MinGW 下 boost ptime 不是线程安全的

我对boost库有疑问。我将MinGW与gcc4.5.2一起使用来编译以下代码:unsignedlongGetEpochSeconds(){usingnamespaceboost::posix_time;usingnamespaceboost::gregorian;ptimenow(second_clock::universal_time());ptimeepoch(date(1970,1,1));time_durationdiff=now-epoch;returndiff.total_seconds();}问题是这段代码不是线程安全的。当我从多个线程中运行它时,我的应用程序崩溃了。现

c++ - 如何使用 MinGW 将符号正确导出到 Windows DLL 中?

我正在尝试使用MinGW创建一个具有一个公开函数的C++库。我想我已经读够了tutorials,环顾互联网,但似乎没有任何效果,错误总是一样的。未定义的函数引用。这是库的头文件(findPoints.h):#ifndefFIND_POINTS_H#defineFIND_POINTS_H#ifdefBUILDING_FIND_POINTS_DLL#defineFIND_POINTS_DLL_PREFIX__declspec(dllexport)#else#defineFIND_POINTS_DLL_PREFIX__declspec(dllimport)#endif#ifdef__cplu

c++ - MinGW GCC 在没有警告或错误的情况下编译错误代码

你能给我解释一下为什么MingWGCC在这段代码中不产生警告吗:intmain(){intnum;intpeople[num];cout>num;}但是在这里,我只用num=1替换了最后一条语句,现在有一个警告...intmain(){intnum;intpeople[num];//warning:'numisuseduninitialized..'cout 最佳答案 我认为因为您只使用了第一个元素,所以它优化了第一个示例中的num。它只是创建一个单元素数组。在第二种情况下,因为你实际使用了num,所以它给出了错误

c++ - mingw 的 C++ 异常的奇怪问题

我在使用mingw时遇到了异常的奇怪问题,并设法将其缩减为以下示例:#include#include#includeusingnamespacestd;voidtest(inta){if(athrowingexception"第一个异常被捕获,但第二个没有,所以我得到了漂亮的Windows错误框,通知我我的应用程序已停止工作:-(完整的命令行输出是:Exceptioncaught:afileerror->throwingexceptionThisapplicationhasrequestedtheRuntimetoterminateitinanunusualway.Pleasecont

c++ - _Unwind_resume的Mingw多重定义

我知道有人问过与此类似的问题,但我几个小时都无法解决这个问题。基本上我有一个包含代码的DLL和一个调用它的应用程序。一切正常,但如果我将这两个带出我的开发环境,它会说程序无法启动,因为计算机中缺少libgcc_s_dw21.dll。考虑到它不是开发计算机,这很公平。因此,为了分发,我添加了编译器标志“-static-libgcc-static-libstdc++”。我为dll和应用程序做了这个。但是当我编译应用程序时出现错误:"multipledefinitionof`_Unwind_Resume'"我认为这是由于dll和应用程序都内置了静态库,事实确实如此。但是,如果它们都没有内置静

c++ - VS c++ 和 MinGW 实现 double 类型有什么区别

同样的代码在VSc++和MinGW中运行得到不同的结果。结果是double类型。示例:在VSC++中得到“-6.397745731873350”,但在MinGW中得到“-6.397745731873378”。有垃圾不同。但我不知道为什么? 最佳答案 我敢猜测这是两种可能性之一。当WindowsNT是新的,并且它们支持移植到其他处理器(例如MIPS和DECAlpha)时,MS有一点问题:处理器都有64位浮点类型,但它们有时会生成结果略有不同。DECAlpha对64位double作为64位double进行了计算。x86上的默认模式有点不

C++为什么有类头却有 "Unknown Type"?

这个问题在这里已经有了答案:Resolvebuilderrorsduetocirculardependencyamongstclasses(12个答案)关闭6年前。我有这个头文件,我正在尝试创建Item类型的变量。我已经包含了#include"Item.h",但在编译时我仍然在两个私有(private)变量上遇到unknowntypenameItem错误。#ifndefPLAYER_H#definePLAYER_H#include#include"Item.h"usingstd::vector;classPlayer{public://constructorPlayer(void);/

c++ - MinGW 编译的程序在 64 位 Windows 上崩溃

我在带有IntelCorei7-3612QM的64位Windows7上安装了32位MinGW和64位EclipseCDT。当我编译并运行helloworld时,打印了字符串,但程序随后得到了一个SIGILL。来源:#includeusingnamespacestd;intmain(){cout堆栈跟踪:hello.exe[C/C++Application]hello.exe[5532]Thread[1]0(Suspended:Signal:SIGILL:Illegalinstruction)libstdc++-6!_ZSt4cout()at0x6fccc3c0libstdc++-6!_

c++ - 如何在 Windows 7 64 位上设置 MinGw?

关闭。这个问题是off-topic.它目前不接受答案。想改进这个问题吗?Updatethequestion所以它是on-topic用于堆栈溢出。关闭9年前。Improvethisquestion在我得到任何反对票之前,我想说我是一个机械人,对C++编程有着浓厚的兴趣。直到今天,我一直使用VS2010Express和QtCreator来满足我的需求。但现在我想在MinGw中编译QtCreator,因为标准SDK仅适用于32位。我曾尝试在MinGWwiki、sourceforge、博客等上搜索清晰的说明。但我几乎可以理解那种语言。我想要一个标准C++编译器,它可以在我的Windows764

c++ - MingW 静态库链接 - SFML 2.1

我正在尝试让SFML2.1与MingW一起工作,但它导致了问题。我在MingW编译器中的编译行是:g++-ID:\SFML-2.1\include-LD:\SFML-2.1\libmain.cpp-lsfml-graphics-lsfml-window-lsfml-system我正在尝试链接.a文件(这是否意味着我应该在编译行中添加一些东西?)。代码如下:#includeintmain(){//createthewindowsf::RenderWindowwindow(sf::VideoMode(800,600),"Mywindow");//runtheprogramaslongast