Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos 关于Mac OS X问题的龙蛋_Macos_Gcc_Llvm - Fatal编程技术网

Macos 关于Mac OS X问题的龙蛋

Macos 关于Mac OS X问题的龙蛋,macos,gcc,llvm,Macos,Gcc,Llvm,我正在尝试在我的mac上构建并运行dragonegg。从自制软件包管理器使用LLVM 3.5和gcc 4.8 根据自述文件(GCC=/usr/local/bin/GCC-4.8 LLVM_-CONFIG=/usr/local/bin/LLVM-CONFIG-3.5 make)在中编译dragonegg会以以下错误结束: Compiling Cache.cpp /Users/aelberg/Development/dragonegg-3.5.0.src/src/Cache.cpp:243:15:

我正在尝试在我的mac上构建并运行dragonegg。从自制软件包管理器使用LLVM 3.5和gcc 4.8

根据自述文件(
GCC=/usr/local/bin/GCC-4.8 LLVM_-CONFIG=/usr/local/bin/LLVM-CONFIG-3.5 make
)在中编译dragonegg会以以下错误结束:

Compiling Cache.cpp
/Users/aelberg/Development/dragonegg-3.5.0.src/src/Cache.cpp:243:15: error: no matching function for call to 'operator new'
  WeakVH *W = new (&(*slot)->V) WeakVH(V);
              ^   ~~~~~~~~~~~~~
note: candidate function not viable: requires 1 argument, but 2 were provided
1 error generated.
make: *** [Cache.o] Error 1
这似乎与在mac上编译时遇到的libc++与libstdc++问题有关。龙蛋将使用
GCC=/usr/local/bin/GCC-4.8 LLVM_-CONFIG=/usr/local/bin/LLVM-CONFIG-3.5 LDFLAGS=“-L/usr/local/lib/-L/usr/lib-L/usr/local/lib/LLVM-3.5/usr/local/bin/clang++-3.5-stdlib=libc++”cxlags=“-I/usr/local/lib/lib/LLVM-3.5/include/c++/v1”进行编译

然而,当我试图使用dragonegg编译任何东西时,我遇到了以下一组不幸的错误:

$ /usr/local/bin/gcc-4.8 -fplugin=/usr/local/lib/dragonegg_483_35.so hello.c
/var/folders/s1/_v14lsc56tv44hm304m07vn40000gq/T//ccPKylId.s:2:Unknown pseudo-op: .macosx_version_min
/var/folders/s1/_v14lsc56tv44hm304m07vn40000gq/T//ccPKylId.s:2:Rest of line ignored. 1st junk character valued 49 (1).
/var/folders/s1/_v14lsc56tv44hm304m07vn40000gq/T//ccPKylId.s:9:Unknown pseudo-op: .cfi_startproc
/var/folders/s1/_v14lsc56tv44hm304m07vn40000gq/T//ccPKylId.s:12:Unknown pseudo-op: .cfi_def_cfa_offset
/var/folders/s1/_v14lsc56tv44hm304m07vn40000gq/T//ccPKylId.s:12:Rest of line ignored. 1st junk character valued 49 (1).
/var/folders/s1/_v14lsc56tv44hm304m07vn40000gq/T//ccPKylId.s:14:Unknown pseudo-op: .cfi_offset
/var/folders/s1/_v14lsc56tv44hm304m07vn40000gq/T//ccPKylId.s:14:Rest of line ignored. 1st junk character valued 37 (%).
/var/folders/s1/_v14lsc56tv44hm304m07vn40000gq/T//ccPKylId.s:17:Unknown pseudo-op: .cfi_def_cfa_register
/var/folders/s1/_v14lsc56tv44hm304m07vn40000gq/T//ccPKylId.s:17:Rest of line ignored. 1st junk character valued 37 (%).
/var/folders/s1/_v14lsc56tv44hm304m07vn40000gq/T//ccPKylId.s:72:Unknown pseudo-op: .cfi_endproc

$ /usr/local/bin/gcc-4.8 hello.c

$ ./a.out
Hello World

这显然不太可能涉及创建DRAGONGEG的编译器标志中的任何设置,因为它们都与C++有关。p>


有什么建议吗?

我找到的解决方案是通过添加
-specs=[path to integrated=as.specs]
告诉dragonegg使用llvm的汇编程序而不是系统汇编程序。根据dragonegg的文档,这既不是必要的,也不是有效的,但确实如此