10-16-2017, 11:50 PM
Hey all, my first post-- please excuse any mistakes.
I'm on OpenSUSE Linux whose repositories do not have a dolphin package, so I have to build from source using cmake and make.
I was able to use cmake and have now gotten the make file. But, make fails to..., well, make.
This is the last step it gets to before aborting:
So, from my understanding, all the errors stem from the compiler not understanding what make_unique is supposed to be. I found that it's a newer (c++14?) feature. But, no matter what I do: adding compiler flags to the Makefile instructions for "common" to set the standard to c++14, c++11, "c++0x", or setting the compiler to specifically use gcc-5 instead of gcc, a combination of two, and invoking all this on the command line, it makes no difference.
Any help would be appreciated!
Thanks.
I'm on OpenSUSE Linux whose repositories do not have a dolphin package, so I have to build from source using cmake and make.
I was able to use cmake and have now gotten the make file. But, make fails to..., well, make.
This is the last step it gets to before aborting:
Code:
[ 60%] Built target audiocommon
[ 60%] Building CXX object Source/Core/Common/CMakeFiles/common.dir/GL/GLInterface/GLInterface.cpp.o
/home/[redacted]/Desktop/DOLPHIN/dolphin-emu/Source/Core/Common/GL/GLInterface/GLInterface.cpp: In function ‘std::unique_ptr<cInterfaceBase> HostGL_CreateGLInterface()’:
/home/[redacted]/Desktop/DOLPHIN/dolphin-emu/Source/Core/Common/GL/GLInterface/GLInterface.cpp:39:10: error: ‘make_unique’ is not a member of ‘std’
return std::make_unique<cInterfaceGLX>();
^
/home/[redacted]/Desktop/DOLPHIN/dolphin-emu/Source/Core/Common/GL/GLInterface/GLInterface.cpp:39:40: error: expected primary-expression before ‘>’ token
return std::make_unique<cInterfaceGLX>();
^
/home/[redacted]/Desktop/DOLPHIN/dolphin-emu/Source/Core/Common/GL/GLInterface/GLInterface.cpp:39:42: error: expected primary-expression before ‘)’ token
return std::make_unique<cInterfaceGLX>();
^
/home/[redacted]/Desktop/DOLPHIN/dolphin-emu/Source/Core/Common/GL/GLInterface/GLInterface.cpp:46:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
Source/Core/Common/CMakeFiles/common.dir/build.make:1088: recipe for target 'Source/Core/Common/CMakeFiles/common.dir/GL/GLInterface/GLInterface.cpp.o' failed
make[2]: *** [Source/Core/Common/CMakeFiles/common.dir/GL/GLInterface/GLInterface.cpp.o] Error 1
CMakeFiles/Makefile2:1088: recipe for target 'Source/Core/Common/CMakeFiles/common.dir/all' failed
make[1]: *** [Source/Core/Common/CMakeFiles/common.dir/all] Error 2
Makefile:160: recipe for target 'all' failed
make: *** [all] Error 2
So, from my understanding, all the errors stem from the compiler not understanding what make_unique is supposed to be. I found that it's a newer (c++14?) feature. But, no matter what I do: adding compiler flags to the Makefile instructions for "common" to set the standard to c++14, c++11, "c++0x", or setting the compiler to specifically use gcc-5 instead of gcc, a combination of two, and invoking all this on the command line, it makes no difference.
Any help would be appreciated!
Thanks.