premake 파일 (premake5.lua)을 생성 -std = GNU + +0이 메이크 파일에 추가하여 내 문제를 해결이 조각과 C++ (11)를 언급한다 :
filter { "language:C++", "toolset:gcc" }
buildoptions { "-std=c++11" }
작동하지 않는 것 같습니다. 이것은 아마도 this issue과 관련이 있습니다. 그 해결책은 premake 5 alpha 12에서만 사용할 수있는 cppdialect
을 사용하는 것입니다 (작성 당시, 마지막 릴리즈는 alpha 11이므로 GitHub에서 직접 최신 버전을 다운로드해야 함).
은 빠른 수정, 당신은 OP 자신의 대답을 따를 수 : -std=c++11
(. RESP gnu++11
, c++14
등) ALL_CXXFLAGS
에 추가하여 (필요한 경우도하여 HelloWorld와 테스트 베드) Box2D의의 확인 파일을 수정합니다. 당신이 premake 자체 수정을 선호하는 경우
:
- premake5.lua에서이 필터를 주석/buildoptions는 Box2D의 (도하여 HelloWorld하고 필요한 경우 테스트 베드) 추가 프로젝트에서
- 위에서 언급 한 스 니펫
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 { "." }
이 변경으로 Box2D의 저장소에 PR을 보내려합니다.
편집 : 완료, 여기는 PR입니다.
gcc의 어떤 버전을 설치하셨습니까? – slf
@slf gcc를 사용합니다. 4.8.4 –
@slf 전제 조건에 따라 생성 된 makefile에 -std = gnu ++ 0x를 추가하여 문제를 해결합니다. –