Here is a PGO for 32-bit. The PGO 64-bit is included. http://www.mediafire.com/?vseyevdqq26joz6Jeremy Bernstein wrote:Why no 32-bit? :0Prima wrote:In the meant time, I made a successful PGO MsVS2010 compile of Stockfish 2.01PA, version "G" (by gaard, et al). 64-bit only.
Designing an analysis friendly Stockfish?
Re: Designing an analysis friendly Stockfish?
-
- Site Admin
- Posts: 1226
- Joined: Wed Jun 09, 2010 7:49 am
- Real Name: Jeremy Bernstein
- Location: Berlin, Germany
Re: Designing an analysis friendly Stockfish?
Actually, this isn't so hard. Let's take a quick walkthrough. You want to compile to a Static Library -- a .lib (not a .dll). I have a 2008 Express install in front of me, but I assume that the dialogs look the same in 2010.Jeremy Bernstein wrote:Prima, if you send me your projects (or post them somewhere for me to download), I can do this for you (and write instructions so you know what to do next time).
Jeremy
The first thing you'll need to change is the Configuration Type under Configuration Properties->General in your Gaviota EGTB project Property Pages to Static Library.
Assuming that the project builds (make 2 versions, a 64- and a 32-bit) to a static lib, you're ready for step 2.
Go to your Stockfish project's Property Pages: Configuration Properties->Linker->Input and add the .lib to the Additional Dependencies field (32-bit for your 32-bit build and 64-bit for your 64-bit build, of course):
You'll need to be sure that your Stockfish can find the headers used by the Gaviota TBs, and it might just work now. What I don't know, and what I might need to help you with, is the question of whether or not functions are automatically exported from the static library that you built. If not, you can't really use it. I do most of my development on OSX, so it would be helpful for me to have the actual project files, should this not work, and then I can figure out whether you need an extra definitions file, or some setting in the configuration, to take care of this.
But maybe it will just work.
Jeremy
-
- Posts: 127
- Joined: Thu Jun 10, 2010 1:39 am
- Real Name: Martin Wyngaarden
- Location: Holland, Michigan
Re: Designing an analysis friendly Stockfish?
Incredible result with a 4.66-sigma difference. The developers will want to take a look at this. Could you check the difference at longer time control of g/2' ?fruity wrote:I have compared stockfish_201_PA_G against SF default with 6000 ultra fast games (one second per game, no increment).
Result from stockfish_201_PA_G's point of view:
+1822, -1882, =2296
With stockfish_201_PA_G additionally changed to update history and killer moves also in PV case (search.cpp, line 1395)I got +1972, -1691, =2337. Again from stockfish_201_PA_G's point of view.Code: Select all
// Update killers and history only for non capture moves that fails high if ( (bestValue >= beta || vt == VALUE_TYPE_EXACT) && !pos.move_is_capture_or_promotion(move)) { update_history(pos, move, depth, movesSearched, moveCount); update_killers(move, ss); }
Re: Designing an analysis friendly Stockfish?
Thanks for your tutorials. It would have helped except my VS 2010 GUI is different from the VS2008. I located the Configuration Type but it was different from what you described. The configuration I found/use is mostly to alternate between 32-bit or 64-bit compiles, and the "Release" function. Besides these, I can't locate any other "Configuration" of any kind. I searcehd every where in the GUI for this .lib linking functions but can't seem to locate them to use.Jeremy Bernstein wrote:Actually, this isn't so hard. Let's take a quick walkthrough. You want to compile to a Static Library -- a .lib (not a .dll). I have a 2008 Express install in front of me, but I assume that the dialogs look the same in 2010.Jeremy Bernstein wrote:Prima, if you send me your projects (or post them somewhere for me to download), I can do this for you (and write instructions so you know what to do next time).
Jeremy
The first thing you'll need to change is the Configuration Type under Configuration Properties->General in your Gaviota EGTB project Property Pages to Static Library.
Assuming that the project builds (make 2 versions, a 64- and a 32-bit) to a static lib, you're ready for step 2.
Go to your Stockfish project's Property Pages: Configuration Properties->Linker->Input and add the .lib to the Additional Dependencies field (32-bit for your 32-bit build and 64-bit for your 64-bit build, of course):
You'll need to be sure that your Stockfish can find the headers used by the Gaviota TBs, and it might just work now. What I don't know, and what I might need to help you with, is the question of whether or not functions are automatically exported from the static library that you built. If not, you can't really use it. I do most of my development on OSX, so it would be helpful for me to have the actual project files, should this not work, and then I can figure out whether you need an extra definitions file, or some setting in the configuration, to take care of this.
But maybe it will just work.
Jeremy
I've attached the screen shot of the "Configuration" in the VS2010 GUI. Also I've uploaded my project files, error report logs ( ouput & error messages), and the stockfish 2.01pa-GTB source code - modified by Peter C.
Here's my project files and everything else:
http://www.mediafire.com/?everqoe04wifo4u
-
- Posts: 127
- Joined: Thu Jun 10, 2010 1:39 am
- Real Name: Martin Wyngaarden
- Location: Holland, Michigan
Re: Designing an analysis friendly Stockfish?
http://dl.dropbox.com/u/11904592/stockfish_201_PA_H.zipfruity wrote:I have compared stockfish_201_PA_G against SF default with 6000 ultra fast games (one second per game, no increment).
Result from stockfish_201_PA_G's point of view:
+1822, -1882, =2296
With stockfish_201_PA_G additionally changed to update history and killer moves also in PV case (search.cpp, line 1395)I got +1972, -1691, =2337. Again from stockfish_201_PA_G's point of view.Code: Select all
// Update killers and history only for non capture moves that fails high if ( (bestValue >= beta || vt == VALUE_TYPE_EXACT) && !pos.move_is_capture_or_promotion(move)) { update_history(pos, move, depth, movesSearched, moveCount); update_killers(move, ss); }
I just threw in the changes and compiled it for anyone who wants to do more testing.
-
- Site Admin
- Posts: 1226
- Joined: Wed Jun 09, 2010 7:49 am
- Real Name: Jeremy Bernstein
- Location: Berlin, Germany
Re: Designing an analysis friendly Stockfish?
The window I had open is what you get if you select the project in the solution explorer, right-click and choose "Properties...". I need to get to my other machine tomorrow before I download VS2010 and play with this stuff, but you can probably get going with that information.Prima wrote:Thanks for your tutorials. It would have helped except my VS 2010 GUI is different from the VS2008. I located the Configuration Type but it was different from what you described. The configuration I found/use is mostly to alternate between 32-bit or 64-bit compiles, and the "Release" function. Besides these, I can't locate any other "Configuration" of any kind. I searcehd every where in the GUI for this .lib linking functions but can't seem to locate them to use.
I've attached the screen shot of the "Configuration" in the VS2010 GUI. Also I've uploaded my project files, error report logs ( ouput & error messages), and the stockfish 2.01pa-GTB source code - modified by Peter C.
Here's my project files and everything else:
http://www.mediafire.com/?everqoe04wifo4u
Important is that you need to have 2 .vcproj files -- 2 projects -- 1 just for the gaviota library, and 1 for the stockfish code. Theoretically you could build it all together, I guess, but I haven't had a chance to look at this at all, so I can't really say.
-
- Site Admin
- Posts: 1226
- Joined: Wed Jun 09, 2010 7:49 am
- Real Name: Jeremy Bernstein
- Location: Berlin, Germany
Re: Designing an analysis friendly Stockfish?
OK, I actually have this building under VS2008 now. You'll have to redo your optimization settings and PGO stuff, but I'll upload this in a few minutes, once I have the 64-bit builds going, as well.Jeremy Bernstein wrote:The window I had open is what you get if you select the project in the solution explorer, right-click and choose "Properties...". I need to get to my other machine tomorrow before I download VS2010 and play with this stuff, but you can probably get going with that information.Prima wrote:Thanks for your tutorials. It would have helped except my VS 2010 GUI is different from the VS2008. I located the Configuration Type but it was different from what you described. The configuration I found/use is mostly to alternate between 32-bit or 64-bit compiles, and the "Release" function. Besides these, I can't locate any other "Configuration" of any kind. I searcehd every where in the GUI for this .lib linking functions but can't seem to locate them to use.
I've attached the screen shot of the "Configuration" in the VS2010 GUI. Also I've uploaded my project files, error report logs ( ouput & error messages), and the stockfish 2.01pa-GTB source code - modified by Peter C.
Here's my project files and everything else:
http://www.mediafire.com/?everqoe04wifo4u
Important is that you need to have 2 .vcproj files -- 2 projects -- 1 just for the gaviota library, and 1 for the stockfish code. Theoretically you could build it all together, I guess, but I haven't had a chance to look at this at all, so I can't really say.
jb
Re: Designing an analysis friendly Stockfish?
Thanks fruity and gaard, here's a quick comparison of Stockfish PA_G and PA_H at 1CPU in the opening position. It seemed mostly luck, but PA_H found 1...e6 much earlier and reached depth 24 much faster, PA_G caught up at depth 25 and finished one minute faster in the end, though.
Engine: Stockfish 2.0.1 PA_G (128 MB) by Tord Romstad, Marco Costalba, Joona Kii 15/14 0:00 +0.16-- 1.Nf3 Nf6 2.e3 d5 3.d4 e6 4.Bd3 c5 5.O-O c4 6.Be2 Nc6 7.Nc3 Bd6 (509.807) 679 15/09 0:01 +0.32++ 1.e4 Nf6 2.e5 Nd5 3.Nf3 Nc6 4.d4 e6 5.Bd3 (928.123) 715 15/09 0:01 +0.40++ 1.e4 Nf6 2.e5 Nd5 3.Nf3 Nc6 4.d4 e6 5.Bd3 (1.152.385) 730 15/09 0:01 +0.56++ 1.e4 Nf6 2.e5 Nd5 3.Nf3 Nc6 4.d4 e6 5.Bd3 (1.424.940) 741 15/16 0:03 +0.44 1.e4 e5 2.Nf3 Bd6 3.Nc3 Nf6 4.Be2 Nc6 5.O-O O-O 6.d3 b6 7.d4 exd4 8.Nxd4 Bb7 (2.247.548) 749 16/18 0:04 +0.24-- 1.e4 e5 2.Nf3 Nf6 3.Nxe5 d6 4.Nf3 Nxe4 5.Bd3 Nf6 6.O-O Be7 7.Nc3 O-O 8.Re1 Nc6 9.Ng5 d5 (3.151.485) 746 16/26 0:05 +0.32 1.e4 e5 2.Nf3 Nf6 3.Nxe5 d6 4.Nf3 Nxe4 5.Qe2 Qe7 6.Nc3 Nxc3 7.dxc3 Qxe2+ 8.Bxe2 Nc6 9.Be3 Be7 10.O-O-O O-O 11.Kb1 Be6 12.Ng5 a6 13.Nxe6 fxe6 (4.052.349) 747 17/26 0:05 +0.32 1.e4 e5 2.Nf3 Nf6 3.Nxe5 d6 4.Nf3 Nxe4 5.Qe2 Qe7 6.Nc3 Nxc3 7.dxc3 Qxe2+ 8.Bxe2 Nc6 9.Be3 Be7 10.O-O-O O-O 11.Kb1 Be6 12.Ng5 a6 13.Nxe6 fxe6 (4.252.062) 745 18/26 0:06 +0.32 1.e4 e5 2.Nf3 Nf6 3.Nxe5 d6 4.Nf3 Nxe4 5.Qe2 Qe7 6.Nc3 Nxc3 7.dxc3 Qxe2+ 8.Bxe2 Nc6 9.Be3 Be7 10.O-O-O O-O 11.Kb1 Be6 12.Ng5 a6 13.Nxe6 fxe6 (4.601.681) 747 19/25 0:07 +0.40++ 1.e4 e5 2.Nf3 Nf6 3.Nxe5 d6 4.Nf3 Nxe4 5.Qe2 Qe7 6.Nc3 Nxc3 7.dxc3 Qxe2+ 8.Bxe2 Nc6 9.Be3 Be7 10.O-O-O O-O 11.Kb1 Be6 12.Ng5 a6 13.h4 (5.619.232) 750 19/19 0:09 +0.48++ 1.e4 e5 2.Nf3 Nf6 3.d4 exd4 4.e5 Qe7 5.Be2 Ng4 6.Qxd4 d6 7.exd6 cxd6 8.Nc3 Nc6 9.Qa4 Qe6 10.O-O (6.811.131) 754 19/26 0:11 +0.32 1.e4 e5 2.Nf3 Nf6 3.d4 exd4 4.e5 Qe7 5.Be2 Ng4 6.Qxd4 h5 7.Nc3 Nc6 8.Qf4 Ncxe5 9.O-O c6 10.Re1 d6 11.h3 Nxf3+ 12.Qxf3 Ne5 13.Qf4 Be6 (8.935.601) 753 20/26 0:13 +0.32 1.e4 e5 2.Nf3 Nf6 3.d4 exd4 4.e5 Qe7 5.Be2 Ng4 6.Qxd4 h5 7.Nc3 Nc6 8.Qf4 Ncxe5 9.O-O c6 10.Re1 d6 11.h3 Nxf3+ 12.Qxf3 Ne5 13.Qf4 Be6 (10.320.940) 752 21/26 0:17 +0.32 1.e4 e5 2.Nf3 Nf6 3.d4 exd4 4.e5 Qe7 5.Be2 Ng4 6.Qxd4 h5 7.Nc3 Nc6 8.Qf4 Ncxe5 9.O-O c6 10.Re1 d6 11.h3 Nxf3+ 12.Qxf3 Ne5 13.Qf4 Be6 (13.161.101) 750 22/17 0:28 +0.40++ 1.e4 e5 2.Nf3 Nf6 3.d4 exd4 4.e5 Qe7 5.Be2 Ng4 6.Qxd4 h5 7.Nc3 Nc6 8.Qd1 Nxf2 9.Kxf2 (20.919.656) 744 22/26 0:35 +0.24-- 1.e4 e5 2.Nf3 Nf6 3.d4 exd4 4.e5 Ne4 5.Qxd4 f5 6.exf6 Nxf6 7.Nc3 Nc6 8.Qe3+ Be7 9.Bd3 O-O 10.O-O d5 11.Qg5 d4 12.Bc4+ Kh8 13.Rd1 Nd7 (26.047.732) 742 22/25 0:48 +0.44 1.e4 e5 2.Nf3 Nc6 3.Bc4 Be7 4.Nc3 Nf6 5.O-O O-O 6.d4 exd4 7.Nxd4 Bb4 8.Bg5 Bxc3 9.bxc3 Qe7 10.Bd3 d6 11.Rb1 h6 12.Bh4 Re8 13.f3 (35.672.600) 742 23/26 2:12 +0.36 1.e4 e5 2.Nf3 d6 3.d4 exd4 4.Nxd4 Nf6 5.Nc3 Be7 6.Be2 O-O 7.Bf4 Bd7 8.O-O Nc6 9.Qd2 Ne5 10.Rad1 Re8 11.Bg3 a6 12.f4 Nc6 13.Bf2 Nxd4 (96.852.976) 733 24/16 3:09 +0.20-- 1.e4 e6 2.Nf3 d5 3.e5 Ne7 4.Bb5+ Bd7 5.Bxd7+ Nxd7 6.O-O Nc6 7.d4 Be7 8.c3 O-O (138.809.221) 731 24/28 3:51 +0.24 1.e4 e6 2.Nf3 d5 3.exd5 exd5 4.d4 Nf6 5.Bb5+ c6 6.Bd3 Be7 7.O-O O-O 8.Nc3 Bd6 9.a3 Re8 10.Bg5 Bg4 11.h3 Bh5 12.g4 Bg6 13.Bxg6 hxg6 14.Re1 (168.932.447) 730 25/31 4:50 +0.20 1.e4 e6 2.Nf3 d5 3.exd5 exd5 4.d4 Nf6 5.Bb5+ c6 6.Bd3 Be7 7.O-O O-O 8.Nc3 Bd6 9.a3 Re8 10.Re1 Bg4 11.Rxe8+ Qxe8 12.Bg5 Nbd7 13.h3 Bh5 14.g4 (212.238.135) 730 best move: e2-e4 time: 5:06.000 min
Engine: Stockfish 2.0.1 PA_H (128 MB) by Tord Romstad, Marco Costalba, Joona Kii 16/16 0:00 +0.28-- 1.Nf3 Nf6 2.e3 e6 3.d4 d5 4.Bd3 Be7 5.O-O Nc6 6.c4 O-O 7.cxd5 exd5 8.Nc3 Be6 (497.513) 740 16/13 0:01 +0.44++ 1.e4 Nc6 2.d4 Nf6 3.e5 Nd5 4.c4 Nb6 5.Nf3 d6 6.exd6 cxd6 7.Nc3 (1.211.455) 760 16/13 0:02 +0.52++ 1.e4 Nc6 2.d4 Nf6 3.e5 Nd5 4.c4 Nb6 5.Nf3 d6 6.exd6 cxd6 7.Nc3 (1.549.036) 768 16/18 0:03 +0.44 1.e4 e6 2.Nf3 d5 3.e5 Nd7 4.Nc3 f6 5.d4 Bb4 6.Bd3 c5 7.O-O cxd4 8.Nxd4 Bxc3 9.bxc3 Nxe5 (2.323.010) 770 17/19 0:04 +0.52 1.e4 e5 2.Nf3 Nf6 3.Nxe5 d6 4.Nf3 Nxe4 5.Nc3 Nxc3 6.dxc3 Be7 7.Bc4 c6 8.O-O d5 9.Bb3 O-O 10.Bf4 (3.581.756) 764 18/20 0:05 +0.40-- 1.e4 e5 2.Nf3 Nf6 3.Nxe5 d6 4.Nf3 Nxe4 5.Nc3 Nxc3 6.dxc3 Be7 7.Bc4 c6 8.O-O d5 9.Bb3 O-O 10.Bf4 Be6 (4.032.770) 763 18/18 0:05 +0.28-- 1.e4 e5 2.Nf3 Nf6 3.Nxe5 d6 4.Nf3 Nxe4 5.Nc3 Nxc3 6.dxc3 Be7 7.Bc4 Nc6 8.O-O O-O 9.Qd5 Be6 (4.541.806) 764 18/24 0:08 +0.32 1.e4 e5 2.Nf3 Nf6 3.Nxe5 d6 4.Nf3 Nxe4 5.Nc3 Nxc3 6.dxc3 Be7 7.Bc4 Nc6 8.O-O O-O 9.Re1 Bf5 10.Bf4 Be6 11.Bd5 Bh4 12.Qd3 Qf6 (6.262.735) 761 19/24 0:08 +0.32 1.e4 e5 2.Nf3 Nf6 3.Nxe5 d6 4.Nf3 Nxe4 5.Nc3 Nxc3 6.dxc3 Be7 7.Bc4 Nc6 8.O-O O-O 9.Re1 Bf5 10.Bf4 Be6 11.Bd5 Bh4 12.Qd3 Qf6 (6.726.012) 764 20/24 0:10 +0.32 1.e4 e5 2.Nf3 Nf6 3.Nxe5 d6 4.Nf3 Nxe4 5.Nc3 Nxc3 6.dxc3 Be7 7.Bc4 Nc6 8.O-O O-O 9.Re1 Bf5 10.Bf4 Be6 11.Bd5 Bh4 12.Qd3 Qf6 (8.026.327) 764 21/24 0:14 +0.32 1.e4 e5 2.Nf3 Nf6 3.Nxe5 d6 4.Nf3 Nxe4 5.Nc3 Nxc3 6.dxc3 Be7 7.Bc4 Nc6 8.O-O O-O 9.Re1 Bf5 10.Bf4 Be6 11.Bd5 Bh4 12.Qd3 Qf6 (10.885.253) 761 22/24 0:21 +0.24-- 1.e4 e5 2.Nf3 Nf6 3.Nxe5 d6 4.Nf3 Nxe4 5.Nc3 Nxc3 6.dxc3 Be7 7.Bc4 Nc6 8.O-O O-O 9.Re1 Bf5 10.Bf4 Bf6 11.Nd4 Bxd4 12.cxd4 Nb4 (16.389.829) 755 22/19 0:31 +0.40++ 1.e4 e5 2.Nf3 Nf6 3.Nxe5 d6 4.Nf3 Nxe4 5.d4 d5 6.Bd3 Be7 7.O-O O-O 8.Re1 Nc6 9.c4 Bb4 10.cxd5 (23.765.595) 751 22/24 1:03 +0.20 1.e4 e6 2.Nf3 d5 3.exd5 exd5 4.d4 Nf6 5.Bd3 Nc6 6.O-O Be7 7.Nc3 Bg4 8.Be3 O-O 9.h3 Bh5 10.Re1 Re8 11.a3 Bd6 12.Bf5 Bg6 (47.007.795) 744 23/25 1:17 +0.32++ 1.e4 e6 2.Nf3 d5 3.exd5 exd5 4.d4 Nf6 5.Bd3 Nc6 6.O-O Be7 7.c3 O-O 8.Bf4 Bd6 9.Bxd6 Qxd6 10.Nbd2 Re8 11.Qc2 Qf4 12.Rfe1 Bg4 13.Qb3 (57.654.660) 741 23/22 1:28 +0.20 1.e4 e6 2.Nf3 d5 3.exd5 exd5 4.d4 Nf6 5.Bd3 Bd6 6.Nc3 Nc6 7.O-O O-O 8.Bg5 Nb4 9.Nb5 Bg4 10.Re1 h6 11.Nxd6 Qxd6 (65.272.603) 739 24/10 1:45 +0.28++ 1.e4 e6 2.Nf3 d5 3.exd5 exd5 4.d4 Nf6 5.Bd3 Bd6 (77.754.590) 736 24/26 1:57 +0.28 1.e4 e6 2.Nf3 d5 3.exd5 exd5 4.d4 Nf6 5.Bd3 Nc6 6.O-O Be7 7.Bf4 Bg4 8.c3 O-O 9.Nbd2 Bd6 10.Bxd6 Qxd6 11.Qb3 b6 12.Rae1 Rae8 13.h3 Bh5 (86.755.475) 735 25/20 2:44 +0.20-- 1.e4 e6 2.Nf3 d5 3.exd5 exd5 4.d4 Nf6 5.Bd3 Nc6 6.O-O Be7 7.Bf4 O-O 8.Nc3 Bg4 9.Nb5 a6 10.Nxc7 Rc8 (120.464.810) 733 25/18 3:49 +0.12-- 1.e4 e6 2.Nf3 d5 3.exd5 exd5 4.Be2 Nf6 5.O-O Bd6 6.d4 O-O 7.Nc3 Re8 8.Bg5 c6 9.Be3 Qe7 (168.546.917) 733 25/24 6:10 +0.20 1.e4 e6 2.Nf3 d5 3.exd5 exd5 4.Nc3 Nf6 5.d4 Bb4 6.Bd3 Qe7+ 7.Be3 Ng4 8.Qe2 Nxe3 9.Qxe3 Nc6 10.O-O Bxc3 11.bxc3 Qxe3 12.fxe3 O-O (272.208.066) 734 best move: e2-e4 time: 6:12.578 min
-
- Site Admin
- Posts: 1226
- Joined: Wed Jun 09, 2010 7:49 am
- Real Name: Jeremy Bernstein
- Location: Berlin, Germany
Re: Designing an analysis friendly Stockfish?
OK, here are the VS2008 files for stockfish + pa + gtb. I guess that you can import them into VS2010 and add back your PGO and optimization stuff.
I didn't do the 64-bit because I'm not set up for it on this machine (can do tomorrow if you like). I needed to change a couple of lines in egtb.cpp: you were initializing the Chess960 variable before the Options map was ready, causing an annoying crash on my system. Anyhow, it seems to be working now.
http://www.expr-i0.net/stock_pa_gtb.7z
I didn't do the 64-bit because I'm not set up for it on this machine (can do tomorrow if you like). I needed to change a couple of lines in egtb.cpp: you were initializing the Chess960 variable before the Options map was ready, causing an annoying crash on my system. Anyhow, it seems to be working now.
http://www.expr-i0.net/stock_pa_gtb.7z
Re: Designing an analysis friendly Stockfish?
Jeremey thanks for your time and assistance. Unfortunatle, it still did not compile here in VS2010 GUI. I still got the 'Output' message though. Heres' the error message:
Which leads me to another thing I've been curious about; (1) as you've seen, the stockfish 2.01pa-gtb's source has it's own source files in it. (2)Within this src folder, there's the 'egtb' folder which has gtb-related files, the progname.h, tbprobe.c, and version.h files in it. (3) Within this egtb folder, there are sysport folder, gtb folder, and compression folder.
(4) Within the compression folder, there is the "wrap.c/wrap.h source files + huffman folder with its own hzip.c/h; the liblzf folder with its izf.h, c.c, d.c, h source files; the lzma folder with its source files, and the zlib folder with its own source.
With all these sub folders within the stockfish source, would it be better if I moved all the sources from the sub folders to the main stockfish source folder and compile, OR, do I have to keep using the "Add items" function from the VS Compile GUI till everything is added and then move to "Build" it?
Kingliveson had suggested (or at least inferred) that in Windows OS, he would move all source related files from sub folders to the main one or have everything in one place as Windows likes it this way. I tried this with Stockfish-gtb but still got errors. Attempting to compile via Command prompt (as thought by gaard), I still get this errors and never successful in compiling.
If I just "Add items" exclusively from its main source folder, it still won't compile. Which is the better solution here? Thanks in advance.
Code: Select all
1>------ Build started: Project: stock_pa_gtb, Configuration: Release x64 ------
1> benchmark.cpp
1> bitbase.cpp
1> bitboard.cpp
1>..\..\bitboard.cpp(312): warning C4146: unary minus operator applied to unsigned type, result still unsigned
1>..\..\bitboard.cpp(318): warning C4146: unary minus operator applied to unsigned type, result still unsigned
1> book.cpp
1> egtb.cpp
1> endgame.cpp
1> evaluate.cpp
1> history.cpp
1> main.cpp
1> material.cpp
1> misc.cpp
1> move.cpp
1> movegen.cpp
1> movepick.cpp
1> pawns.cpp
1> position.cpp
1> san.cpp
1> search.cpp
1> timeman.cpp
1> tt.cpp
1> Compiling...
1> uci.cpp
1> ucioption.cpp
1>egtb.obj : error LNK2001: unresolved external symbol tb_probe_soft
1>egtb.obj : error LNK2001: unresolved external symbol tb_probe_hard
1>egtb.obj : error LNK2001: unresolved external symbol tbpaths_add
1>egtb.obj : error LNK2001: unresolved external symbol tb_done
1>egtb.obj : error LNK2001: unresolved external symbol tbcache_done
1>egtb.obj : error LNK2001: unresolved external symbol tbcache_init
1>egtb.obj : error LNK2001: unresolved external symbol tb_probe_WDL_soft
1>egtb.obj : error LNK2001: unresolved external symbol tbpaths_done
1>egtb.obj : error LNK2001: unresolved external symbol tbpaths_init
1>egtb.obj : error LNK2001: unresolved external symbol tbstats_reset
1>egtb.obj : error LNK2001: unresolved external symbol tb_probe_WDL_hard
1>egtb.obj : error LNK2001: unresolved external symbol tb_init
1>C:\Users\PRIMA\Desktop\stock_pa_gtb\src\stock_pa_gtb\x64\Release\stock_pa_gtb.exe : fatal error LNK1120: 12 unresolved externals
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
(4) Within the compression folder, there is the "wrap.c/wrap.h source files + huffman folder with its own hzip.c/h; the liblzf folder with its izf.h, c.c, d.c, h source files; the lzma folder with its source files, and the zlib folder with its own source.
With all these sub folders within the stockfish source, would it be better if I moved all the sources from the sub folders to the main stockfish source folder and compile, OR, do I have to keep using the "Add items" function from the VS Compile GUI till everything is added and then move to "Build" it?
Kingliveson had suggested (or at least inferred) that in Windows OS, he would move all source related files from sub folders to the main one or have everything in one place as Windows likes it this way. I tried this with Stockfish-gtb but still got errors. Attempting to compile via Command prompt (as thought by gaard), I still get this errors and never successful in compiling.
If I just "Add items" exclusively from its main source folder, it still won't compile. Which is the better solution here? Thanks in advance.