jmdha / motsog

UCI Chess Engine written in C
MIT License
2 stars 0 forks source link

adjust code to solve compiling error #3

Closed tissatussa closed 2 months ago

tissatussa commented 2 months ago

it's nice you continued developing Matsog! once i discovered Jarlo in its (too) early stage, see my #1 and #2. now compiling of the new v12 went well, but only after adjusting some code :

src/eval/values.c:8:11: error: conflicting types for ‘VALUE_MG’; have ‘const int[6]’
    8 | const int VALUE_MG[6] = {82, 337, 365, 477, 1025, 0};
      |           ^~~~~~~~
In file included from src/eval/values.c:2:
src/eval/values.h:4:12: note: previous declaration of ‘VALUE_MG’ with type ‘int[6]’
    4 | extern int VALUE_MG[6];
      |            ^~~~~~~~
src/eval/values.c:9:11: error: conflicting types for ‘VALUE_EG’; have ‘const int[6]’
    9 | const int VALUE_EG[6] = {94, 281, 297, 512, 936, 0};
      |           ^~~~~~~~
In file included from src/eval/values.c:2:
src/eval/values.h:5:12: note: previous declaration of ‘VALUE_EG’ with type ‘int[6]’
    5 | extern int VALUE_EG[6];
      |            ^~~~~~~~
make: *** [<builtin>: src/eval/values.o] Error 1

so, in 'src/eval/values.h' i changed the 2 lines extern int VALUE_.. into extern const int VALUE_.. - then compiling had no single error or warning and the binary (173.8 Kb) runs fine in CuteChess GUI.

i wonder : didn't the error occur on your side ? i'm on Xubuntu 22.04, do you develop on Windows ? Although gcc will give the C-error on this OS too, i assume ?

jmdha commented 2 months ago

The lack of compiler error seems to have been caused by build artifacts. However, it should be fixed now.