diff --git a/Building-For-Linux.md b/Building-For-Linux.md index 9c3e8ba..15fd6a4 100644 --- a/Building-For-Linux.md +++ b/Building-For-Linux.md @@ -28,6 +28,8 @@ The `--recursive` option automatically clones the required Git submodules too. ### Building Citra: +**Using gcc:** + ``` mkdir build && cd build cmake .. @@ -36,6 +38,19 @@ sudo make install (currently doesn't work, needs to be fixed) ``` Optionally, you can use "cmake -i .." to adjust various options (e.g. disable the Qt GUI). +**Using clang:** + +Note: It is important you use libc++ vs. , otherwise your build will likely fail. libc++ is not 100% complete on GNU/Linux, but works well for this build. The libstdc++ std::string is a different data structure than the libc++ std::string. See: [LLVLM.org](https://llvm.org/svn/llvm-project/www-releases/trunk/3.8.0/projects/libcxx/docs/UsingLibcxx.html). If libc+ is not used, some warnings are treated as errors. Using clang is only really recommended for users not using GCC >= 5. Also see [Clang Comparison](http://clang.llvm.org/comparison.html). + +``` +mkdir build && cd build +cmake -DCMAKE_CXX_COMPILER=clang++-3.8 \ + -DCMAKE_C_COMPILER=clang-3.8 \ + -DCMAKE_CXX_FLAGS="-O2 -g -stdlib=libc++" .. +make +sudo make install (currently doesn't work, needs to be fixed) +``` + ### Building Citra (Optimized): ```