Я пытаюсь скомпилировать проект с открытым исходным кодом на OSX, который был протестирован только в Linux.
$: g++ -v
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 5.0 (clang-500.2.79) (based on LLVM 3.3svn)
Target: x86_64-apple-da
Я пытаюсь выполнить компиляцию со следующими параметрами командной строки
g++ -MMD -Wall -std=c++0x -stdlib=libc++ -Wno-sign-compare -Wno-unused-variable -ftemplate-depth=1024 -I /usr/local/Cellar/boost/1.55.0/include/boost/ -g -O3 -c level.cpp -o obj-opt/level.o
Я вижу несколько ошибок, которые выглядят так:
./square.h:39:70: error: chosen constructor is explicit in copy-initialization
int strength = 0, double flamability = 0, map<SquareType, int> constructions = {}, bool ticking = false);
В проекте говорится, что для установки Linux требуются следующие требования. Как я могу подтвердить, что я это делаю?
gcc-4.8.2
git
libboost 1.5+ with libboost-serialize
libsfml-dev 2+ (Ubuntu ppa that contains libsfml 2: )
freeglut-dev
libglew-dev
Проект требует от вас компиляции с gcc-4.8.2, но ваш g++ использует clang, который является другим компилятором.
Установите gcc-4.8.2 или выше и используйте его для компиляции вашего проекта.
$ sudo port install gcc49
homebrew
для установки gcc49
stackoverflow.com/a/19535525/93212