在Mac上建立狡猾的国际象棋引擎

时间:2016-01-12 21:33:14

标签: c macos compilation

其他编码员,我从这里下载了狡猾的http://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

有人可以帮忙吗?

我试过谷歌搜索问题,但我发现的一切都是针对Windows的。

感谢

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

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

使用:

$ make profile
$ ./crafty

看起来像Makefile中的错误。

编辑:

您的CPU或操作系统不支持汇编代码,因此请更改Makefile中的以下行:

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的顶部以获取其他信息。