同事们,我从这里下载了craftyhttp://craftychess.com/crafty-25.0.zip并试图从命令行在Mac(安装了Xcode)上构建它。
我执行make-j unix clang并得到以下错误:
error: *.profraw: No such file or directory
make[1]: *** [unix-clang] Error 1
make: *** [default] Error 2
在Makefile中,unix clang的定义如下:
unix叮当声:
@/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/llvm-profdata merge -output=crafty.profdata *.profraw
$(MAKE) -j target=UNIX \
CC=clang CXX=clang++ \
opt='-DTEST -DINLINEASM -DPOPCNT -DCPUS=4' \
CFLAGS='-Wall -Wno-array-bounds -pipe -O3 \
-fprofile-instr-use=crafty.profdata' \
CXFLAGS='-Wall -Wno-array-bounds -pipe -O3 \
-fprofile-instr-use=crafty.profdata' \
LDFLAGS='$(LDFLAGS) -fprofile-use -lstdc++' \
crafty-make
有人能帮忙吗?
我试过用谷歌搜索这个问题,但我发现的一切都是针对窗户的。
谢谢
1月13日更新:
$make profile生成以下内容:
/Applications/Xcode.app/Contents/Developer/usr/bin/make -j unix-clang-profile
/Applications/Xcode.app/Contents/Developer/usr/bin/make -j target=UNIX \
CC=clang CXX=clang++ \
opt='-DTEST -DINLINEASM -DPOPCNT -DCPUS=4' \
CFLAGS='-Wall -Wno-array-bounds -pipe -O3 \
-fprofile-instr-generate' \
CXFLAGS='-Wall -Wno-array-bounds -pipe -O3 \
-fprofile-instr-generate' \
LDFLAGS=' -fprofile-instr-generate -lstdc++ ' \
crafty-make
clang -Wall -Wno-array-bounds -pipe -O3
-fprofile-instr-generate -DTEST -DINLINEASM -DPOPCNT -DCPUS=4 -DUNIX -c crafty.c
clang++ -c -Wall -Wno-array-bounds -pipe -O3
-fprofile-instr-generate -DTEST -DINLINEASM -DPOPCNT -DCPUS=4 -DUNIX egtb.cpp
clang -fprofile-instr-generate -lstdc++ -o crafty crafty.o egtb.o -lm
Illegal instruction
make: *** [profile] Error 132
有什么想法吗?
最佳答案
使用:
$ make profile
$ ./crafty
看起来像Makefile中的一个bug。
编辑:
您的CPU或操作系统不支持程序集代码,因此请更改生成文件中的以下行:
unix-clang:
...
opt='-DTEST -DINLINEASM -DPOPCNT -DCPUS=4' \
...
到
unix-clang:
...
opt='-DTEST -DCPUS=4' \
...
和改变
unix-clang-profile:
...
opt='-DTEST -DINLINEASM -DPOPCNT -DCPUS=4' \
...
到
unix-clang-profile:
...
opt='-DTEST -DCPUS=4' \
...
重做您还应该阅读Makefile的顶部以获取其他信息。
关于c - 在Mac上构建狡猾的国际象棋引擎,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34754176/