草庐IT

c++ - MinGW 上支持 OpenMP 的 Qt 插件 : Undefined reference?

我正在开发一个使用OpenMP的“Qt插件”(可以使用CMake参数启用/禁用OpenMP支持)。我使用MinGW和CMake作为开发环境。这就是我在代码中启用/禁用OpenMP的方式:#ifdefOPENMP_ENABLE#pragmaompparallelfor#endiffor(inti=0;igetZSize();i++){.我在CMake文件中启用了OpenMP,如下所示:OPTION(OPENMP_SUPPORT"BuildwithOpenMPparallaizationenabled")IF(OPENMP_SUPPORT)FIND_PACKAGE(OpenMP)SET(C

c++ - 谷歌测试 Gtest.cc :812: error: 'gettimeofday' was not declared in this scope

我正在尝试通过命令行通过MinGW编译Google测试,但是当我尝试使用命令进行编译时gcc-ID:\gtest-ID:\gtest\include-ID:\gtest\include\gtestsrc\gtest_main.ccsrc\gtest-all.cc它抛出错误Gtest.cc:812:错误:'gettimeofday'未在此范围内声明我通过VisualStudio成功编译,所以我猜这不是代码的错误。还有其他人遇到过这个问题并且知道解决方案吗? 最佳答案 and是两个不同的包含

c++ - 使用 Cmake 和 MinGW 编译 OpenCV 2.4.13

我在尝试使用Cmake和mingw编译opencv时遇到了这个问题。对于Cmake:源代码位于“C:\CPPLibraries\OpenCV-2.4.13\opencv\sources”构建二进制文件的位置是:“C:/CPPLibraries/OpenCV-2.4.13/opencv/build/x64/mingw”我已经使用Cmake生成了makefile。当我运行makefile时:C:\CPPLibraries\OpenCV-2.4.13\opencv\build\x64\mingw>mingw32-make这是我在31%之后得到的输出[31%]BuildingCXXobject

c++ - 如何在 Qt Creator 中更改/配置所需的编译器?即在 MSVC/Mingw 或 g++/clang++ 之间切换

我知道howtoaddcompilerinQtCreator.但是我的Qt总是选择MSVC编译器。如何设置MinGW(内置或外置)而不是MSVC?找不到任何帖子可以帮助新手了解如何更改所需偏好的编译器。我当前的系统是Windows,但是也欢迎提供有关Linux(g++clang++)的信息。 最佳答案 以下是Qt5.9的方式:在配置新项目时,只选择那些需要的编译器/工具包;对于64位系统,获取latestMinGW并安装在合适的路径上;安装MinGW64时,您可以选择“posixthreads”,而不是“win32threads”以

c++ - 使用 MinGW 构建 Boost 1.45

尝试使用MinGW在WindowsXP上编译Boost1.45。我一年前做过,差点忘了怎么重复。%PATH%包含MinGW路径。user-config.jam包含usinggcc;bjam(ntx86之一)来自here.输出:>bjam--build-dir="E:\Boost"--build-type=completetoolset=gccstage/tools/build/v2/build\configure.jam:145:inbuilds-raw***argumenterror*ruleUPDATE_NOW(targets*:log?:ignore-minus-n?)*call

c++ - 在 MinGW 中导入内联函数

我正在使用在其header中定义内联函数的共享库。这是一个简化的测试用例,如链接到库的编译单元所见(对于库所见的版本,只需将dllimport替换为dllexport)。class__declspec(dllimport)MyClass{public:intmyFunc2();intmyFunc1();};inlineintMyClass::myFunc2(void){returnmyFunc1();}inlineintMyClass::myFunc1(void){return0;}编译它会给出警告:warning:'intMyClass::myFunc1()'redeclaredwi

c++ - MinGW 4.7.2 的 Qt 应用程序段错误

使用MinGW4.7.2每个编译的Qt4应用程序都会崩溃-甚至是之前运行的程序。MinGW:4.7.2QT:4.8.3使用的库:QtCore4.dllQtCored4.dllQtGui4.dll(用在gui上)QtGuid4.dll(用于gui)以简单程序为例:#includeintmain(intargc,char*argv[]){QApplicationapp(argc,argv);/*Crashhere*/returnapp.exec();}崩溃:收到信号:SIGSEGV(段错误)调用堆栈:ZN23QCoreApplicationPrivate27processCommandLi

c++ - MinGW-Clang 的 libgcc_s_dw2-1.dll 丢失了吗?

当我尝试运行rubenvb'sClang3.2时,我得到:Theprogramcan'tstartbecauselibgcc_s_dw2-1.dllismissingfromyourcomputer.Tryreinstallingtheprogramtofixthisproblem.我在任何地方都找不到DLL...我缺少什么包/我该如何解决这个问题? 最佳答案 您还需要下载一个gcc包,Clang的构建没有C++库或任何东西。它的意思是与gcc包结合使用。来自here:HereyouwillfindthelatestClangcom

c++ - 删除向上转换为基指针的对象数组

开始将一些库从msvc移动到mingw,并发现当有人想要删除一个arrayupcastedobjects时msvc的非常有趣的行为。即msvc做了一些黑魔法(它似乎喜欢这样做)并且波纹管代码执行得很好,但是在mingw中(4.7.2(崩溃。我相信mingw正在正确执行并且它的msvc巫术就是制作睡虫。代码:#includeclassfoo{staticintidgen;protected:intid;public:foo(){id=idgen++;std::coutmsvc2010的输出Hello(foo-0)Hello(bar-0)Hello(foo-1)Hello(bar-1)By

c++ - mingw-w64 : slow sprintf in <cstdio>

是吗C++中的header包含与相同的功能但输入std命名空间?我在使用mingw-w64编译的程序中遇到了奇怪的效率问题,它比在linux上慢十倍以上。经过一些测试,我发现问题出在sprintf中。.然后我做了如下测试:#include//#include//usingstd::sprintf;intmain(){inti;for(i=0;i使用编译时它比使用快15倍.这是时间:$time./stdioreal0m0.557suser0m0.046ssys0m0.046s$time./cstdioreal0m7.465suser0m0.031ssys0m0.077s$g++--ver