errors when I compile Stockfish with Microsoft Visual studio

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

Uri Blass
Posts: 10281
Joined: Thu Mar 09, 2006 12:37 am
Location: Tel-Aviv Israel

errors when I compile Stockfish with Microsoft Visual studio

Post by Uri Blass »

I simply added all the cpp and h files inside the source at
https://github.com/official-stockfish/S ... master/src
as part of the project except files that are in the syzygy folder(the files exist there) and compiled and got the following errors.

1>------ Build started: Project: stockfish_code, Configuration: Debug Win32 ------
1>benchmark.cpp
1>c:\users\uriblass\stockfish-latest\stockfish-master\src\bitboard.h(339): error C3861: '_BitScanForward': identifier not found
1>c:\users\uriblass\stockfish-latest\stockfish-master\src\bitboard.h(342): error C3861: '_BitScanForward': identifier not found
1>bitbase.cpp
1>c:\users\uriblass\stockfish-latest\stockfish-master\src\bitboard.h(339): error C3861: '_BitScanForward': identifier not found
1>c:\users\uriblass\stockfish-latest\stockfish-master\src\bitboard.h(342): error C3861: '_BitScanForward': identifier not found
1>bitboard.cpp
1>c:\users\uriblass\stockfish-latest\stockfish-master\src\bitboard.h(339): error C3861: '_BitScanForward': identifier not found
1>c:\users\uriblass\stockfish-latest\stockfish-master\src\bitboard.h(342): error C3861: '_BitScanForward': identifier not found
1>endgame.cpp
1>c:\users\uriblass\stockfish-latest\stockfish-master\src\bitboard.h(339): error C3861: '_BitScanForward': identifier not found
1>c:\users\uriblass\stockfish-latest\stockfish-master\src\bitboard.h(342): error C3861: '_BitScanForward': identifier not found
1>evaluate.cpp
1>c:\users\uriblass\stockfish-latest\stockfish-master\src\bitboard.h(339): error C3861: '_BitScanForward': identifier not found
1>c:\users\uriblass\stockfish-latest\stockfish-master\src\bitboard.h(342): error C3861: '_BitScanForward': identifier not found
1>main.cpp
1>c:\users\uriblass\stockfish-latest\stockfish-master\src\bitboard.h(339): error C3861: '_BitScanForward': identifier not found
1>c:\users\uriblass\stockfish-latest\stockfish-master\src\bitboard.h(342): error C3861: '_BitScanForward': identifier not found
1>c:\users\uriblass\stockfish-latest\stockfish-master\src\main.cpp(47): warning C4244: 'argument': conversion from 'double' to 'size_t', possible loss of data
1>material.cpp
1>c:\users\uriblass\stockfish-latest\stockfish-master\src\bitboard.h(339): error C3861: '_BitScanForward': identifier not found
1>c:\users\uriblass\stockfish-latest\stockfish-master\src\bitboard.h(342): error C3861: '_BitScanForward': identifier not found
1>misc.cpp
1>movegen.cpp
1>c:\users\uriblass\stockfish-latest\stockfish-master\src\bitboard.h(339): error C3861: '_BitScanForward': identifier not found
1>c:\users\uriblass\stockfish-latest\stockfish-master\src\bitboard.h(342): error C3861: '_BitScanForward': identifier not found
1>movepick.cpp
1>c:\users\uriblass\stockfish-latest\stockfish-master\src\bitboard.h(339): error C3861: '_BitScanForward': identifier not found
1>c:\users\uriblass\stockfish-latest\stockfish-master\src\bitboard.h(342): error C3861: '_BitScanForward': identifier not found
1>pawns.cpp
1>c:\users\uriblass\stockfish-latest\stockfish-master\src\bitboard.h(339): error C3861: '_BitScanForward': identifier not found
1>c:\users\uriblass\stockfish-latest\stockfish-master\src\bitboard.h(342): error C3861: '_BitScanForward': identifier not found
1>position.cpp
1>c:\users\uriblass\stockfish-latest\stockfish-master\src\bitboard.h(339): error C3861: '_BitScanForward': identifier not found
1>c:\users\uriblass\stockfish-latest\stockfish-master\src\bitboard.h(342): error C3861: '_BitScanForward': identifier not found
1>psqt.cpp
1>search.cpp
1>c:\users\uriblass\stockfish-latest\stockfish-master\src\bitboard.h(339): error C3861: '_BitScanForward': identifier not found
1>c:\users\uriblass\stockfish-latest\stockfish-master\src\bitboard.h(342): error C3861: '_BitScanForward': identifier not found
1>c:\users\uriblass\stockfish-latest\stockfish-master\src\search.cpp(253): warning C4244: 'argument': conversion from 'double' to 'int', possible loss of data
1>c:\users\uriblass\stockfish-latest\stockfish-master\src\search.cpp(323): warning C4244: 'initializing': conversion from 'double' to 'size_t', possible loss of data
1>c:\users\uriblass\stockfish-latest\stockfish-master\src\search.cpp(324): warning C4244: 'argument': conversion from 'double' to 'int', possible loss of data
1>thread.cpp
1>c:\users\uriblass\stockfish-latest\stockfish-master\src\bitboard.h(339): error C3861: '_BitScanForward': identifier not found
1>c:\users\uriblass\stockfish-latest\stockfish-master\src\bitboard.h(342): error C3861: '_BitScanForward': identifier not found
1>c:\users\uriblass\stockfish-latest\stockfish-master\src\thread.cpp(142): warning C4244: 'argument': conversion from 'double' to 'size_t', possible loss of data
1>timeman.cpp
1>c:\users\uriblass\stockfish-latest\stockfish-master\src\bitboard.h(339): error C3861: '_BitScanForward': identifier not found
1>c:\users\uriblass\stockfish-latest\stockfish-master\src\bitboard.h(342): error C3861: '_BitScanForward': identifier not found
1>c:\users\uriblass\stockfish-latest\stockfish-master\src\timeman.cpp(86): warning C4244: 'initializing': conversion from 'double' to 'TimePoint', possible loss of data
1>c:\users\uriblass\stockfish-latest\stockfish-master\src\timeman.cpp(87): warning C4244: 'initializing': conversion from 'double' to 'TimePoint', possible loss of data
1>c:\users\uriblass\stockfish-latest\stockfish-master\src\timeman.cpp(88): warning C4244: 'initializing': conversion from 'double' to 'TimePoint', possible loss of data
1>c:\users\uriblass\stockfish-latest\stockfish-master\src\timeman.cpp(89): warning C4244: 'initializing': conversion from 'double' to 'TimePoint', possible loss of data
1>tt.cpp
1>c:\users\uriblass\stockfish-latest\stockfish-master\src\bitboard.h(339): error C3861: '_BitScanForward': identifier not found
1>c:\users\uriblass\stockfish-latest\stockfish-master\src\bitboard.h(342): error C3861: '_BitScanForward': identifier not found
1>c:\users\uriblass\stockfish-latest\stockfish-master\src\tt.cpp(94): warning C4244: 'initializing': conversion from 'double' to 'size_t', possible loss of data
1>c:\users\uriblass\stockfish-latest\stockfish-master\src\tt.cpp(94): warning C4244: 'initializing': conversion from 'double' to 'const size_t', possible loss of data
1>uci.cpp
1>c:\users\uriblass\stockfish-latest\stockfish-master\src\bitboard.h(339): error C3861: '_BitScanForward': identifier not found
1>c:\users\uriblass\stockfish-latest\stockfish-master\src\bitboard.h(342): error C3861: '_BitScanForward': identifier not found
1>ucioption.cpp
1>c:\users\uriblass\stockfish-latest\stockfish-master\src\bitboard.h(339): error C3861: '_BitScanForward': identifier not found
1>c:\users\uriblass\stockfish-latest\stockfish-master\src\bitboard.h(342): error C3861: '_BitScanForward': identifier not found
1>c:\users\uriblass\stockfish-latest\stockfish-master\src\ucioption.cpp(40): warning C4244: 'argument': conversion from 'double' to 'size_t', possible loss of data
1>c:\users\uriblass\stockfish-latest\stockfish-master\src\ucioption.cpp(42): warning C4244: 'argument': conversion from 'double' to 'size_t', possible loss of data
1>Generating Code...
1>Done building project "stockfish_code.vcxproj" -- FAILED.
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
Joost Buijs
Posts: 1563
Joined: Thu Jul 16, 2009 10:47 am
Location: Almere, The Netherlands

Re: errors when I compile Stockfish with Microsoft Visual studio

Post by Joost Buijs »

This happens when you do a 32 bit build which probably nobody does, so it went unnoticed.

Here is the mistake, intrin.h should be included for 32 bit builds as well.

Code: Select all

#if defined(_WIN64) && defined(_MSC_VER) // No Makefile used
#  include <intrin.h> // Microsoft header for _BitScanForward64()
#  define IS_64BIT
#endif