草庐IT

c++ - Mingw 'std::function' 还没有声明?

首先,我在带有最新mingw版本的Windows上使用代码块。我正在使用sfml库开始游戏,但不幸的是我遇到了这个问题。我需要为我的状态管理器使用std::function,但它一直显示相同的错误:'std::function'尚未声明。我做了#include并使用了链接器选项-std=c++0x,但仍然没有成功。唯一不能编译的是这个头文件:#ifndefSTATEMANAGER_HPP_INCLUDED#defineSTATEMANAGER_HPP_INCLUDED#include#include"State.hpp"#include#includeclassStateManager

c++ - Windows 10 上带有 mingw 的 CMake : Detecting CXX compiler ABI info - failed

我想使用cmake在Windows10上创建MinGWMakefile。我已经安装了mingw,并且可以毫无问题地使用mingw32-make和g++命令。测试项目是一个super简单的CMakeLists.txt文件:cmake_minimum_required(VERSION3.10)project(hello-world)add_executable(hello-worldmain.cpp)和一个简单的main.cpp文件:#includeintmain(){std::cout这些是我用来创建makefile的命令:>>mkdirbuild>>cdbuild>>cmake-G"M

c++ - 使用 MinGW、freeglut 和 glew 编译简单的静态 OpenGL 4.0 程序

问题出在标题上,我会尝试在下面列出我已经尝试过的等等。首先,据我所知,为了在Windows上使用OpenGL4.0,您必须扩展或绕过默认的Windows库,因为它只提供OpenGL1.1。所以我们在C:/MinGW/安装了MinGW。接下来,我通过下载tarball来设置FreeGLUT。来自projectsite.根据instructions运行makefile提取和编译在./configure命令中添加少量--prefix。./configure--prefix=/c/Users/Owner/root/makeallmakeinstall现在我在/c/Users/Owner/roo

c++ - 膨胀的 EXE 大小,以及不需要的 Qt/MingW 依赖项

我正在尝试找出如何缩小在最新的QTSDK(4.8.2)(基于mingw/g++)下编译的EXE文件的大小。我正在开发一个普通的c++控制台应用程序,它有一个简单的循环并且只有#includesiostream,当我注意到它生成的exe文件大约为465kb时;比他们应该的要大得多!注释掉所有的流内容将它降低到预期的5kb范围(尽管剩余的代码大部分都是死的)。这似乎根本不对,特别是因为我正在处理的另一个完整项目有一个QGLwidget、窗口、十几个数据结构和~3000个语句,而且只有大约126Kb的时钟。我缺少某些设置或标志吗?这是.pro,而cpp是微不足道的且无Qt(基本上是getli

c++ - 模板特化 - MSVC 和 GCC/MinGW 之间的不同行为

我特化了一个模板,并在MSVC编译器和MinGW/GCC之间遇到了不同的行为。这是头文件://MyClass.h#ifndefMYCLASS_HEADER#defineMYCLASS_HEADERtemplateclassMyClass{public:virtualvoiddoSomething(){//somecode}};//specializationprototypehere#endif现在,区别。为了避免多次定义,我只在头文件中特化了一个原型(prototype),实现在一个cpp文件中。特化是个问题。GCC/MinGW编译器只接受这个:templatevoidMyClass

c++ - 使用 c++11 编译时,Mingw g++ 无法识别 off_t

我写了尽可能小的测试题:#includeintmain(intargc,char**argv){off_tl=0;return0;}以下作品:g++test.cpp但是如果我尝试使用c++11进行编译,我会得到:c:\test>g++-std=c++11test.cpptest.cpp:Infunction'intmain(int,char**)':test.cpp:5:2:error:'off_t'wasnotdeclaredinthisscopetest.cpp:5:8:error:expected';'before'l'test.cpp:6:9:error:'l'wasnotde

c++ - 为什么 ptr_fun(tolower) 不能在 mingw 中编译?

我正在尝试使用QtCreator2.0.1编译以下程序:voidf(){stringa="abc";transform(a.begin(),a.end(),a.begin(),ptr_fun(tolower));}mingw抛出以下错误:没有匹配函数来调用ptr_fun()该函数在VC++2010Express中编译良好。mingw有什么问题?谢谢。 最佳答案 问题是函数模板引入的歧义templatecharTtolower(charTc,constlocale&loc);我猜mingw已经包含了间接来自您的程序包含的头文件之一,而

C++、mingw 和 clock_gettime 无法编译

我在使用minGW的g++.exe编译一些LinuxC++代码时遇到了一些困难。具体来说,就是无法理解这段代码:structtimespecnow;clock_gettime(CLOCK_REALTIME,&now);我已经添加了必要的头文件#include编译错误为:error:aggregate'special_time2()::timespecnow'hasincompletetypeandcannotbedefinederror:'CLOCK_REALTIME'wasnotdeclaredinthisscopeerror:'clock_gettime'wasnotdeclare

【Window环境下使用MSYS2搭建CMake + MinGW环境】

目录标题安装`CMake``cmake`测试MSYS2下载`MSYS2`安装`MSYS2`修改软件下载源MSYS2下安装MinGW配置`MinGW`配置到环境变量`helloworld`测试安装CMakeCmake下载地址:https://cmake.org/download/,下一个windows压缩包就好了,因为我比较喜欢自己来配置,免得不知道安装程序干了什么。当然也可以考虑下一个msi格式的。解压之后看到的目录结构是:接下来需要将bin目录配置到环境变量Path中。cmake测试我们可以打开Windows终端,输入cmake测试。如上,若cmake正常输出,则说明cmake已经成功安装了

php - 如何使用 cygwin/mingw 在 Windows 上编译 PHP 扩展?

我正在尝试构建RabbitMQPHPwrapper和AMPQPHPwrapper在Windows(64)上使用Cygwin。我已经成功构建了底层C库(librabbitmq.dll),但我卡在了“phpize”步骤:phpize&&./configure--with-rabbit&&make&&sudomakeinstall如果我没理解错的话,Windows上没有“phpize”,那么我该如何构建我的PHP包装器呢?请注意,我对构建PHP扩展完全陌生(无论是在Linux还是Windows上)。 最佳答案 这是完全不支持的。PHP旨在