Box2D编译麻烦.nullptr
Box2D compiling trouble. nullptr
伙计们。我正在从源代码中编译Box2D,并带来一些麻烦。我在Box2D目录中运行了睫毛版本,然后切换到/build/gmake并跑步。让我回来:
../../Box2D/Dynamics/b2Body.cpp: In member function ‘void b2Body::DestroyFixture(b2Fixture*)’:
../../Box2D/Dynamics/b2Body.cpp:216:17: error: ‘nullptr’ was not declared in this scope
if (fixture == nullptr)
^
Enyone可以帮助我吗?我使用Ubuntu Linux 14.04。
我通过add -std = gnu 0x解决我的问题,以由premake生成
生成
premake文件(premake5.lua)在此片段中提到C 11:
filter { "language:C++", "toolset:gcc" }
buildoptions { "-std=c++11" }
它似乎不起作用。这可能与此问题有关,该问题的解决方案是使用cppdialect
,该问题仅在Premake 5 Alpha 12中可用(在撰写本文时,最后一个版本是Alpha 11,这意味着您需要直接在Github上直接下载最新版本)。
作为快速解决方案,您可以按照OP的答案:通过添加-std=c++11
(resp。gnu++11
,c++14
等)将Box2D(也是Helloworld和TestBend)修改的MAKE FILES:将其修改为ALL_CXXFLAGS
。
如果您喜欢修改预制本身:
- 在 premake5.lua 中,评论上面提到的过滤器/buildoptions aippet
- 在Projects Box2D(也需要Helloworld和TestBed(如果需要))中,添加
flags "C++11"
(您还可以添加buildoptions { "-std=c++11" }
,唯一的区别是它也会将选项添加到All_cflags)
示例:
project "Box2D"
kind "StaticLib"
language "C++"
flags "C++11" -- added
files { "Box2D/**.h", "Box2D/**.cpp" }
includedirs { "." }
我打算使用此更改将PR发送到Box2D的存储库。
编辑:完成,这是Pr。
相关文章:
- 如何在自删除后将对象设置为nullptr
- 如何取消对nullptr的屏蔽,返回正确的对象
- C++ - "!pointer"和"pointer == nullptr"的区别?
- 将指针设置为"nullptr"并不能防止双重删除?
- 创建具有 new in 函数和"this is nullptr"异常的对象
- 我已经阅读了很多关于 2d 数组的信息,但我在作业中使用它时遇到了麻烦
- 查找奇数平方和时遇到麻烦
- 为什么我的节点在我设置后被设置为 nullptr = 新节点?
- C++默认情况下,指针类型数组的元素是否保证初始化为 nullptr?
- 在 nullptr 上调用无状态类的非静态成员函数是否合法?
- 空指针常量 (nullptr)、空指针值和空成员指针值之间有什么区别?
- 哈希映射使用 nullptr c++ 初始化节点的动态数组
- wx通用目录控制错误"wxTheFileIconsTable was nullptr"
- 当设置为 const 变量时使用 nullptr
- 为什么"weak.lock()"返回"nullptr" "auto weak=std::make_shared<int>(42);"的定义?
- 检查类方法中是否(此 == nullptr)
- C++98,但叮叮当当地说使用nullptr?
- 为什么调试器引发"read access violation. this was nullptr"异常?
- 检查模板中 nullptr 的函数指针,了解任何类型的可调用对象
- Box2D编译麻烦.nullptr