我正在尝试在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
答案 0 :(得分:1)
该项目要求您使用gcc-4.8.2进行编译,但您的g ++正在使用clang,这是一个不同的编译器。
安装gcc-4.8.2或更高版本,并使用它来编译项目
$ sudo port install gcc49