PlantSimulationLab / Helios

The Helios simulation system is a versatile modeling framework that handles tasks such as managing geometry and associated data structures through a C++ API. Plug-ins build off of the Helios core engine, and access the geometry and data via the Helios context. The sytem comes with a visualization plug-in that can produce stunning renderings of model geometry and data with relatively little effort.
http://baileylab.ucdavis.edu/software/helios
GNU General Public License v2.0
61 stars 27 forks source link

[bug]Could not succeed complie Helios in windows #26

Closed Pepe-oss closed 2 years ago

Pepe-oss commented 2 years ago

Hello,

I installed all the required softwaree and tried to follow the 'Tutorial 0: Context Self-Test Tutorial' . My configuration is as follows: vs2019;Cmake 3.23.1; But in cmake, I meat such problem:

CMake Deprecation Warning at D:/Helios/core/CMakeLists.txt:1 (cmake_minimum_required):
  Compatibility with CMake < 2.8.12 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

CMake Deprecation Warning at D:/Helios/core/lib/zlib/CMakeLists.txt:1 (cmake_minimum_required):
  Compatibility with CMake < 2.8.12 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

Looking for sys/types.h
Looking for sys/types.h - found
Looking for stdint.h
Looking for stdint.h - found
Looking for stddef.h
Looking for stddef.h - found
Check size of off64_t
Check size of off64_t - failed
Looking for fseeko
Looking for fseeko - not found
Looking for unistd.h
Looking for unistd.h - not found
CMake Deprecation Warning at D:/Helios/core/lib/libpng/CMakeLists.txt:13 (cmake_minimum_required):
  Compatibility with CMake < 2.8.12 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

CMake Deprecation Warning at D:/Helios/core/lib/libpng/CMakeLists.txt:14 (cmake_policy):
  Compatibility with CMake < 2.8.12 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

Performing Test HAVE_LD_VERSION_SCRIPT
Performing Test HAVE_LD_VERSION_SCRIPT - Failed
Performing Test HAVE_SOLARIS_LD_VERSION_SCRIPT
Performing Test HAVE_SOLARIS_LD_VERSION_SCRIPT - Failed
bin dir D:/Helios/samples/context_selftest/build
CMake Deprecation Warning at D:/Helios/core/lib/libjpeg-9a/CMakeLists.txt:8 (cmake_minimum_required):
  Compatibility with CMake < 2.8.12 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

DIST_NAME: libjpeg
DIST_VERSION: 9.1.0
DIST_LICENSE: jpeg license
DIST_AUTHOR: Tom Lane, Guido Vollbeding, Philip Gladstone, Bill Allombert, Jim Boucher, Lee Crocker, Bob Friesenhahn, Ben Jackson, Julian Minguillon, Luis Ortiz, George Phillips, Davide Rossi, Ge
DIST_MAINTAINER: Peter Kapec
DIST_URL: http://www.ijg.org/
DIST_DESC: Independent JPEG Group
DIST_DEPENDS: 
Looking for stdlib.h
Looking for stdlib.h - found
-- Loading 0 plug-ins
Configuring done
Generating done

I think the previous warning which about cmake version can be ignored, but libjpeg confuse me. I continue to make and get the following error:

RC2135; file not found: char; zlib;zconf.h.included; 368
RC2135; file not found: unsigned; zlib;zconf.h.included; 370
RC2135; file not found: typedef; zlib;zconf.h.included; 371
LNK1104; cannot open file 'lib\zlibstatic.lib'; context_selftest; LINK; 1

I wonder if you could help me with this

bnbailey-psl commented 2 years ago

Hello, How are you building via CMake? Are you building via the command line (and with Linux emulator?), using the CMake GUI, or within VisualStudio itself? The way that I have built on Windows is using the CLion IDE as described here: https://baileylab.ucdavis.edu/software/helios/_dependent_software.html. I can give the method you are using a try. It may be useful for other users in the future as well to have different ways of building on Windows, we just don't use Windows very often so it has not been as well explored.

Pepe-oss commented 2 years ago

Yes, I using CMake GUI. And after tew days tring, now I succeed compiling tutorial0, but other sample till has some problem. I would try clion, thanks. My approach was to recompile libjepg myself in Windows, replacing libjepg-9a in the core folder