lsalzman / tesseract

Tesseract - repo moved to http://tesseract.gg
188 stars 29 forks source link

No executables? #15

Closed kroltan closed 11 years ago

kroltan commented 11 years ago

There are no executables packaged with Tesseract. How would I build this?

Calinou commented 11 years ago

Read the README?

kroltan commented 11 years ago

I have to checkout the whole Sauerbraten SVN? It weighs too much, and I already have Sauerbraten installed. Plus, it doesn't have a tesseract.exe, so even checking out Sauerbraten SVN wouldn't give the right executable

lsalzman commented 11 years ago

If you are on Linux, you must have SDL2, SDL2_image (with libpng/libjpg support), and SDL2_mixer installed from http://hg.libsdl.org, and otherwise use make like for normal Sauer builds. If you are on Windows, you will need either VS (Express) 2010 + Windows SDK 7.1, OR just VS (Express) Desktop 2012, OR Code::Blocks + TDM-GCC-64 (the mingw that comes with Code::Blocks will not work). So, basically the same as Sauer again.

Collect edition Sauer media will still work with Tesseract for the moment, so you could do without Sauer SVN.

kroltan commented 11 years ago

I downloaded Microsoft Visual Studio Express 2012 for Windows Desktop, opened the .sln in src/vcpp/ and tried building it, and i get this error: Error 1 error MSB8020: The builds tools for Windows7.1SDK (Platform Toolset = 'Windows7.1SDK') cannot be found. To build using the Windows7.1SDK build tools, either click the Project menu or right-click the solution, and then select "Update VC++ Projects...". Install Windows7.1SDK to build using the Windows7.1SDK build tools. C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.Cpp.Platform.targets 44 5 tesseract

However, I could not find the option mentioned in the possible fix. I'm on a 64-bit Windows 7.

lsalzman commented 11 years ago

On VS 2012, you need to go into the solution properties and set the platform toolchain for all configurations/all architectures to vc110 or vc110_xp. It's currently Windows7.1SDK because I use VS2010 mainly for builds. I may just switch to VS2012 in the future.

kroltan commented 11 years ago

Firstly, thanks for your patience. I followed your instructions, went to the project configuration, selected Configuration: All Configurations and Plaform: All Platforms, then went to the Configuration Properties in the list in the left, and changed Platform Toolset to Visual Studio 2012 (v110). It was the only option in the dropdown. Then I tried to build again, but now it gives me 7 LNK2026 errors and 1 LNK1281 error.

lsalzman commented 11 years ago

I would need to see the actual compiler error output, otherwise I can't offer anymore feedback.

kroltan commented 11 years ago

There it is:

1>------ Build started: Project: tesseract, Configuration: Release Win32 ------
1>  pch.cpp
1>  pch.cpp
1>  pch.cpp
1>  blend.cpp
1>  light.cpp
1>  normal.cpp
1>  octa.cpp
1>  octaedit.cpp
1>  octarender.cpp
1>  physics.cpp
1>  pvs.cpp
1>  world.cpp
1>  worldio.cpp
1>  client.cpp
1>  server.cpp
1>  serverbrowser.cpp
1>  3dgui.cpp
1>  aa.cpp
1>  bih.cpp
1>  decal.cpp
1>  dynlight.cpp
1>  grass.cpp
1>  material.cpp
1>  Compiling...
1>  rendergl.cpp
1>  renderlights.cpp
1>  rendermodel.cpp
1>  renderparticles.cpp
1>  rendersky.cpp
1>  rendertext.cpp
1>  renderva.cpp
1>  shader.cpp
1>  texture.cpp
1>  water.cpp
1>  command.cpp
1>  console.cpp
1>  main.cpp
1>  menus.cpp
1>  movie.cpp
1>  sound.cpp
1>  crypto.cpp
1>  geom.cpp
1>  stream.cpp
1>  tools.cpp
1>  zip.cpp
1>  ai.cpp
1>  entities.cpp
1>  fps.cpp
1>  render.cpp
1>  scoreboard.cpp
1>  waypoint.cpp
1>  weapon.cpp
1>  client.cpp
1>  server.cpp
1>  Generating code
1>  Finished generating code
1>enet.lib(host.o) : error LNK2026: module unsafe for SAFESEH image.
1>enet.lib(peer.o) : error LNK2026: module unsafe for SAFESEH image.
1>enet.lib(win32.o) : error LNK2026: module unsafe for SAFESEH image.
1>enet.lib(protocol.o) : error LNK2026: module unsafe for SAFESEH image.
1>enet.lib(packet.o) : error LNK2026: module unsafe for SAFESEH image.
1>enet.lib(callbacks.o) : error LNK2026: module unsafe for SAFESEH image.
1>enet.lib(list.o) : error LNK2026: module unsafe for SAFESEH image.
1>..\..\bin\tesseract.exe : fatal error LNK1281: Unable to generate SAFESEH image.
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
lsalzman commented 11 years ago

Try doing a pull to update your tesseract.vcxproj with a quick hack I did to disable the SAFESEH feature that seems to be causing the issue (you will need to reset the platform toolset again too). Hopefully this will fix it, but I can't test on this computer.

kroltan commented 11 years ago

That worked perfect! Thank you for your patience on teaching a noob compile a C++ project!