Skip to content

Instantly share code, notes, and snippets.

@p0n1
Last active January 9, 2020 06:36
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save p0n1/ab01ccc885a660995ab993beab91be60 to your computer and use it in GitHub Desktop.
Save p0n1/ab01ccc885a660995ab993beab91be60 to your computer and use it in GitHub Desktop.
Fix ethsnarks usage on osx

Failed to use ethsnarks library latest version on macOS.

Error log:

ethsnarks/depends/libsnark/depends/libff/libff/common/utils.hpp:34:40: error:
      no template named 'initializer_list' in namespace 'std'

Should set CMAKE_CXX_STANDARD in CMakeLists.txt.

if (CMAKE_VERSION VERSION_GREATER "3.0")
  set(CMAKE_CXX_STANDARD 11)
  set(CMAKE_CXX_STANDARD_REQUIRED ON) #...is required...
else()
  include(CheckCXXCompilerFlag)
  CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11)

  if(COMPILER_SUPPORTS_CXX11)
    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
  elseif(COMPILER_SUPPORTS_CXX0X)
    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")
  else()
        message(STATUS "The compiler ${CMAKE_CXX_COMPILER} has no C++11 support. Please use a different C++ compiler.")
  endif()
endif()

Check this CMakeLists.txt from HarryR for examples.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment