Help with expanding Python API to custom C++ library using Project Chrono

194 views
Skip to first unread message

Zuriah Quinton

unread,
Jul 25, 2022, 1:43:49 PM7/25/22
to ProjectChrono

Hello,

 

I've been working on developing a small library in C++ that uses Project Chrono, however I want to be able to use this library with PyChrono. I’ve been having some trouble linking everything, and I hope you can help.

 

Here’s a summary of my current issue/what I’ve tried so far… Seeing as PyChrono is made with the help of SWIG, I tried to mimic the set up for my library: I am using CMake and Visual Studio 2019 to configure/generate/build a solution. So far, I have been able to successfully generate a Python library for a test function in my header file that requires no Project Chrono dependencies. I have done this with CMake files in a similar way to how Project Chrono generates PyChrono with SWIG. For the next step, I tried generating the python code for a function that takes a chrono::ChBody object as an argument. Now that some Project Chrono files are required, when I try to build my project, Visual Studio gives many errors about being unable to find many of the standard C++ libraries (cstdio, string, vector, iostream, etc) and cites where they are included in Chrono header files as the offending lines (screenshot below).

 

Do you have any advice on how to properly link my library/SWIG files to Project Chrono/PyChrono? I tried writing out a minimal example below, but the full project is available on GitHub here (https://github.com/zur-quin/HydroChrono/tree/add_python) for your reference.

 

Thanks in advance for any advice you have!

 

Best,

Zuriah Quinton

Researcher I-Software Engineering | Water Power R&D

 

National Renewable Energy Laboratory (NREL)
15013 Denver West Parkway | Golden, CO 80401

zqui...@nrel.gov | www.nrel.gov

 

 

--------------------------------------------------------------------------------------------------------------------------------------

// header file "hydro_forces.h"

// includes for all required Project Chrono .h files

#include <vector>

#include "chrono/solver/ChSolverPMINRES.h"

#include "chrono/solver/ChIterativeSolverLS.h"

#include "chrono/timestepper/ChTimestepper.h"

#include "chrono/physics/ChForce.h"

#include "chrono/physics/ChLoadContainer.h"

#include "chrono/physics/ChLoadsBody.h"

#include "chrono/physics/ChSystemNSC.h"

#include "chrono/physics/ChBody.h"

#include "chrono/physics/ChBodyEasy.h"

#include "chrono/fea/ChMeshFileLoader.h"

#include "chrono/assets/ChPointPointDrawing.h"

#include "chrono_irrlicht/ChIrrApp.h"

#include "chrono_irrlicht/ChIrrMeshTools.h"

#include "H5Cpp.h"

 

using namespace chrono;

using namespace chrono::irrlicht;

using namespace chrono::fea;

 

void testFunctionNoChrono();

void testFunctionChrono(std::shared_ptr<chrono::ChBody> b);

--------------------------------------------------------------------------------------------------------------------------------------

// cpp file "hydro_forces.cpp"

#include "hydro_forces.h"

 

void testFunctionChrono(std::shared_ptr<chrono::ChBody> b) {

              std::cout << "this is a test" << std::endl;

}

--------------------------------------------------------------------------------------------------------------------------------------

// swig's .i interface file with more care

// hydro_forces.i - SWIG interface

 

%module hydro_forces

 

// Include other .i configuration files for SWIG.

// These are divided in many .i files, each per a

// different c++ class, when possible.

 

%include "std_string.i"

%include "std_vector.i"

%include "typemaps.i"

 

// Turn on the exception handling to intercept C++ exceptions

%include "exception.i"

 

%exception {

  try {

    $action

  } catch (const std::exception& e) {

    SWIG_exception(SWIG_RuntimeError, e.what());

  }

}

 

// For optional downcasting of polimorphic objects:, note "chrono_downcast.i" is coppied into project file

%include "chrono_downcast.i"

 

// For supporting shared pointers:

%include <std_shared_ptr.i>

 

// Include C++ headers...

%{

 

#include <vector>

#include "chrono/solver/ChSolverPMINRES.h"

#include "chrono/solver/ChIterativeSolverLS.h"

#include "chrono/timestepper/ChTimestepper.h"

#include "chrono/physics/ChForce.h"

#include "chrono/physics/ChLoadContainer.h"

#include "chrono/physics/ChLoadsBody.h"

#include "chrono/physics/ChSystemNSC.h"

#include "chrono/physics/ChBody.h"

#include "chrono/physics/ChBodyEasy.h"

#include "chrono/fea/ChMeshFileLoader.h"

#include "chrono/assets/ChPointPointDrawing.h"

#include "chrono_irrlicht/ChIrrApp.h"

#include "chrono_irrlicht/ChIrrMeshTools.h"

#include "H5Cpp.h"

 

using namespace chrono;

using namespace chrono::irrlicht;

using namespace chrono::fea;

 

%}

 

%include "../hydro_forces.h"

%include <vector>

%include "chrono/solver/ChSolverPMINRES.h"

%include "chrono/solver/ChIterativeSolverLS.h"

%include "chrono/timestepper/ChTimestepper.h"

%include "chrono/physics/ChForce.h"

%include "chrono/physics/ChLoadContainer.h"

%include "chrono/physics/ChLoadsBody.h"

%include "chrono/physics/ChSystemNSC.h"

%include "chrono/physics/ChBody.h"

%include "chrono/physics/ChBodyEasy.h"

%include "chrono/fea/ChMeshFileLoader.h"

%include "chrono/assets/ChPointPointDrawing.h"

%include "chrono_irrlicht/ChIrrApp.h"

%include "chrono_irrlicht/ChIrrMeshTools.h"

%include "H5Cpp.h"

 

--------------------------------------------------------------------------------------------------------------------------------------

#cmake for swig file (c++ library compiled in separate cmake file that calls this one)

 

mark_as_advanced(CLEAR SWIG_EXECUTABLE)

 

# set package name

set(HYDROPY_PACKAGENAME py_hydrochrono)

 

find_package(PythonLibs)

set(Python_ADDITIONAL_VERSIONS 3.4)

find_package(Python3 REQUIRED)

 

get_filename_component(HYDRO_PYTHONDIR "${PYTHON_EXECUTABLE}" PATH)

set(HYDRO_PYTHONINC "${PYTHON_INCLUDE_DIR}")

set(HYDRO_PYTHONLIB "${PYTHON_LIBRARIES}")

 

set(HYDRO_PYTHONDIR  "${HYDRO_PYTHONDIR}"  PARENT_SCOPE)

set(HYDRO_PYTHONINC  "${HYDRO_PYTHONINC}"  PARENT_SCOPE)

set(HYDRO_PYTHONLIB  "${HYDRO_PYTHONLIB}"  PARENT_SCOPE)

 

include_directories(${HYDRO_PYTHONINC})

 

find_package(SWIG REQUIRED)

include(${SWIG_USE_FILE})

 

SET(CMAKE_SWIG_FLAGS "")

SET_SOURCE_FILES_PROPERTIES(hydro_forces.i PROPERTIES CPLUSPLUS ON)

SET_SOURCE_FILES_PROPERTIES(hydro_forces.i PROPERTIES SWIG_FLAGS "-includeall")

 

# optionally set swig locations here

set(CMAKE_SWIG_OUTDIR "${PROJECT_BINARY_DIR}/hydrochrono_python")

 

set(HYDROPY hydro_forces)

 

# interface files

set(HYDROPY_MODULE_FILE

    hydro_forces.i

    )

 

SWIG_ADD_LIBRARY(${HYDROPY} TYPE SHARED LANGUAGE python SOURCES ${HYDROPY_MODULE_FILE})

target_include_directories(${HYDROPY} PRIVATE ${HYDRO_PYTHONINC})

SWIG_LINK_LIBRARIES(${HYDROPY} ${PYTHON_LIBRARIES} ${LINK_LIBS} HydroChrono)

 

set_target_properties(${SWIG_MODULE_${HYDROPY}_REAL_NAME} PROPERTIES

                      PROJECT_LABEL "HydroChrono_python_${HYDROPY}"

                      OUTPUT_NAME   "${SWIG_MODULE_${HYDROPY}_REAL_NAME}"

                      LIBRARY_OUTPUT_DIRECTORY "${EXECUTABLE_OUTPUT_PATH}"

                      )

 

set_property(TARGET ${HYDROPY} PROPERTY SWIG_USE_TARGET_INCLUDE_DIRECTORIES TRUE)

ADD_DEPENDENCIES(${SWIG_MODULE_${HYDROPY}_REAL_NAME} HydroChrono)

 

 

 

Freya the Goddess

unread,
Jul 26, 2022, 1:22:23 AM7/26/22
to Zuriah Quinton, ProjectChrono
Hi Zuriah,

I am using Linux, but the logic should work for WIndows (the OS you are using). Correct me if I am wrong, there are lots of experts here in Project Chrono mailing lists.

Visual Studio gives many errors about being unable to find many of the standard C++ libraries (cstdio, string, vector, iostream, etc) and cites where they are included in Chrono header files as the offending lines (screenshot below).

About the C++ libraries that can't be found, you have to locate them either using directory / terminal. Then adjust the environment PATH/Variables linking to the directories containing all of those.

In linux we usually install libraries in /usr/lib, In Windows probably under C: directory. I used Windows a long time ago, but not anymore. Too expensive and becoming slow with moreof their house applications like XBOX games, etc included.

--
You received this message because you are subscribed to the Google Groups "ProjectChrono" group.
To unsubscribe from this group and stop receiving emails from it, send an email to projectchron...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/projectchrono/eb4c705e-4eb2-4ebe-94e8-464ba06c95e6n%40googlegroups.com.


--
С наилучшими пожеланиями, Богиня Фрейя
Atenciosamente, Freya the Goddess
Meilleurs voeuxFreya the Goddess
Liebe Grüße, Freya the Goddess
Best wishes, Freya the Goddess
よろしくお願いします、Freya the Goddess
最好的祝福,Freya the Goddess
Matakwa mema, Freya the Goddess
مع أطيب التمنيات ، فريا الإلهة

Zuriah Quinton

unread,
Jul 26, 2022, 6:06:31 PM7/26/22
to ProjectChrono
Thanks for your reply,

I realize my original post could have been more clear--a majority of the errors are these standard libraries being unable to be found. However, these aren't the only unfound files; some header files from Chrono and Eigen also cannot be found (I'll put the full list below, it's long). I do have the directory for Eigen in my PATH, so I am not sure this is the issue.

I think my issue is similar to the one on this stack overflow post (https://stackoverflow.com/questions/47073863/swig-error-unable-to-find-stdexcept) except I am trying to build the project with CMake and not through the command line. Because of this, I am not sure how to translate the (limited) answer on the post to CMake files. I feel like I am already including many of these in the .i and CMake files that I have?

Also, correct me if I'm wrong, but since these are standard C++ libraries, I don't think I have a lib file for them on my machine?

Thanks for taking the time to reply, I really appreciate it :)
-Zuriah

Full list of errors when trying to build project:
Build started...
1>------ Build started: Project: HydroChrono_python_hydro_forces, Configuration: Release x64 ------
1>Swig compile hydro_forces.i for python
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\solver\ChSolver.h(18): error : Unable to find 'vector'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\core\ChApiCE.h(16): error : Unable to find 'cstddef'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\core\ChClassFactory.h(33): error : Unable to find 'cstdio'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\core\ChClassFactory.h(34): error : Unable to find 'string'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\core\ChClassFactory.h(35): error : Unable to find 'typeinfo'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\core\ChClassFactory.h(36): error : Unable to find 'typeindex'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\core\ChClassFactory.h(37): error : Unable to find 'unordered_map'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\core\ChLog.h(17): error : Unable to find 'cassert'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\core\ChStream.h(16): error : Unable to find 'cstdio'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\core\ChStream.h(17): error : Unable to find 'cstring'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\core\ChStream.h(18): error : Unable to find 'cassert'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\core\ChStream.h(19): error : Unable to find 'cstdlib'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\core\ChStream.h(20): error : Unable to find 'iostream'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\core\ChStream.h(21): error : Unable to find 'fstream'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\core\ChStream.h(22): error : Unable to find 'vector'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\core\ChStream.h(23): error : Unable to find 'ios'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\core\ChException.h(18): error : Unable to find 'string'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\serialization\ChArchive.h(16): error : Unable to find 'string'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\serialization\ChArchive.h(17): error : Unable to find 'sstream'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\serialization\ChArchive.h(18): error : Unable to find 'vector'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\serialization\ChArchive.h(19): error : Unable to find 'list'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\serialization\ChArchive.h(20): error : Unable to find 'typeinfo'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\serialization\ChArchive.h(21): error : Unable to find 'unordered_set'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\serialization\ChArchive.h(22): error : Unable to find 'memory'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\serialization\ChArchive.h(23): error : Unable to find 'algorithm'
1>C:/Users/ZQUINTON/code/libraries/eigen-3.4.0\Eigen\src\Core\util\Macros.h(679): error : Unable to find 'cmath'
1>C:/Users/ZQUINTON/code/libraries/eigen-3.4.0\Eigen\src\Core\util\ConfigureVectorization.h(53): error : CPP #error "Please tell me what is the equivalent of alignas(n) and alignof(x) for your compiler". Use the -cpperraswarn option to continue swig processing.
1>C:/Users/ZQUINTON/code/libraries/eigen-3.4.0\Eigen\Core(50): error : Unable to find 'complex'
1>C:/Users/ZQUINTON/code/libraries/eigen-3.4.0\Eigen\Core(79): error : Unable to find 'cerrno'
1>C:/Users/ZQUINTON/code/libraries/eigen-3.4.0\Eigen\Core(81): error : Unable to find 'cstddef'
1>C:/Users/ZQUINTON/code/libraries/eigen-3.4.0\Eigen\Core(82): error : Unable to find 'cstdlib'
1>C:/Users/ZQUINTON/code/libraries/eigen-3.4.0\Eigen\Core(83): error : Unable to find 'cmath'
1>C:/Users/ZQUINTON/code/libraries/eigen-3.4.0\Eigen\Core(84): error : Unable to find 'cassert'
1>C:/Users/ZQUINTON/code/libraries/eigen-3.4.0\Eigen\Core(85): error : Unable to find 'functional'
1>C:/Users/ZQUINTON/code/libraries/eigen-3.4.0\Eigen\Core(86): error : Unable to find 'sstream'
1>C:/Users/ZQUINTON/code/libraries/eigen-3.4.0\Eigen\Core(88): error : Unable to find 'iosfwd'
1>C:/Users/ZQUINTON/code/libraries/eigen-3.4.0\Eigen\Core(90): error : Unable to find 'cstring'
1>C:/Users/ZQUINTON/code/libraries/eigen-3.4.0\Eigen\Core(91): error : Unable to find 'string'
1>C:/Users/ZQUINTON/code/libraries/eigen-3.4.0\Eigen\Core(92): error : Unable to find 'limits'
1>C:/Users/ZQUINTON/code/libraries/eigen-3.4.0\Eigen\Core(93): error : Unable to find 'climits'
1>C:/Users/ZQUINTON/code/libraries/eigen-3.4.0\Eigen\Core(95): error : Unable to find 'algorithm'
1>C:/Users/ZQUINTON/code/libraries/eigen-3.4.0\Eigen\src\Core\util\Meta.h(49): error : Unable to find 'stdint.h'
1>C:/Users/ZQUINTON/code/libraries/eigen-3.4.0\Eigen\src\Core\arch\Default\Half.h(39): error : Unable to find 'sstream'
1>C:/Users/ZQUINTON/code/libraries/eigen-3.4.0\Eigen\src\Core\Ref.h(113): error : Macro 'EIGEN_STATIC_ASSERT' expects 2 arguments
1>C:/Users/ZQUINTON/code/libraries/eigen-3.4.0\Eigen\Geometry(15): error : Unable to find 'limits'
1>C:/Users/ZQUINTON/code/libraries/eigen-3.4.0\Eigen\SparseCore(15): error : Unable to find 'vector'
1>C:/Users/ZQUINTON/code/libraries/eigen-3.4.0\Eigen\SparseCore(16): error : Unable to find 'map'
1>C:/Users/ZQUINTON/code/libraries/eigen-3.4.0\Eigen\SparseCore(17): error : Unable to find 'cstdlib'
1>C:/Users/ZQUINTON/code/libraries/eigen-3.4.0\Eigen\SparseCore(18): error : Unable to find 'cstring'
1>C:/Users/ZQUINTON/code/libraries/eigen-3.4.0\Eigen\SparseCore(19): error : Unable to find 'algorithm'
1>C:/Users/ZQUINTON/code/libraries/eigen-3.4.0\Eigen\src\IterativeLinearSolvers\IncompleteCholesky.h(14): error : Unable to find 'vector'
1>C:/Users/ZQUINTON/code/libraries/eigen-3.4.0\Eigen\src\IterativeLinearSolvers\IncompleteCholesky.h(15): error : Unable to find 'list'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\core\ChTypes.h(18): error : Unable to find 'memory'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\solver\ChSystemDescriptor.h(18): error : Unable to find 'vector'
1>C:/Users/ZQUINTON/code/libraries/eigen-3.4.0\unsupported\Eigen\IterativeSolvers(13): error : Unable to find '..\..\Eigen\Sparse'
1>C:/Users/ZQUINTON/code/libraries/eigen-3.4.0\unsupported\Eigen\IterativeSolvers(14): error : Unable to find '..\..\Eigen\Jacobi'
1>C:/Users/ZQUINTON/code/libraries/eigen-3.4.0\unsupported\Eigen\IterativeSolvers(15): error : Unable to find '..\..\Eigen\Householder'
1>C:/Users/ZQUINTON/code/libraries/eigen-3.4.0\unsupported\Eigen\IterativeSolvers(34): error : Unable to find '..\..\Eigen\src\Core\util\DisableStupidWarnings.h'
1>C:/Users/ZQUINTON/code/libraries/eigen-3.4.0\unsupported\Eigen\IterativeSolvers(37): error : Unable to find 'src\IterativeSolvers\IterationController.h'
1>C:/Users/ZQUINTON/code/libraries/eigen-3.4.0\unsupported\Eigen\IterativeSolvers(38): error : Unable to find 'src\IterativeSolvers\ConstrainedConjGrad.h'
1>C:/Users/ZQUINTON/code/libraries/eigen-3.4.0\unsupported\Eigen\IterativeSolvers(41): error : Unable to find 'src\IterativeSolvers\IncompleteLU.h'
1>C:/Users/ZQUINTON/code/libraries/eigen-3.4.0\unsupported\Eigen\IterativeSolvers(42): error : Unable to find 'src\IterativeSolvers\GMRES.h'
1>C:/Users/ZQUINTON/code/libraries/eigen-3.4.0\unsupported\Eigen\IterativeSolvers(43): error : Unable to find 'src\IterativeSolvers\DGMRES.h'
1>C:/Users/ZQUINTON/code/libraries/eigen-3.4.0\unsupported\Eigen\IterativeSolvers(45): error : Unable to find 'src\IterativeSolvers\MINRES.h'
1>C:/Users/ZQUINTON/code/libraries/eigen-3.4.0\unsupported\Eigen\IterativeSolvers(46): error : Unable to find 'src\IterativeSolvers\IDRS.h'
1>C:/Users/ZQUINTON/code/libraries/eigen-3.4.0\unsupported\Eigen\IterativeSolvers(48): error : Unable to find '..\..\Eigen\src\Core\util\ReenableStupidWarnings.h'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\timestepper\ChTimestepper.h(18): error : Unable to find 'cstdlib'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\core\ChMathematics.h(16): error : Unable to find 'cmath'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\core\ChMathematics.h(17): error : Unable to find 'cfloat'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\core\ChMathematics.h(18): error : Unable to find 'cassert'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\core\ChVector.h(18): error : Unable to find 'algorithm'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\core\ChVector.h(19): error : Unable to find 'cmath'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\core\ChVector.h(20): error : Unable to find 'limits'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\core\ChQuaternion.h(18): error : Unable to find 'cmath'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\core\ChQuaternion.h(19): error : Unable to find 'algorithm'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\core\ChQuaternion.h(20): error : Unable to find 'limits'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\core\ChMatrix33.h(18): error : Unable to find 'cmath'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\timestepper\ChIntegrable.h(18): error : Unable to find 'cstdlib'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\timestepper\ChState.h(18): error : Unable to find 'cstdlib'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\physics\ChForce.h(18): error : Unable to find 'cfloat'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\physics\ChForce.h(19): error : Unable to find 'memory.h'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\physics\ChForce.h(20): error : Unable to find 'cmath'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\physics\ChForce.h(21): error : Unable to find 'cstdlib'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\physics\ChForce.h(22): error : Unable to find 'iostream'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\physics\ChForce.h(23): error : Unable to find 'string'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\motion_functions\ChFunction_Base.h(18): error : Unable to find 'memory.h'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\motion_functions\ChFunction_Base.h(19): error : Unable to find 'cfloat'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\motion_functions\ChFunction_Base.h(20): error : Unable to find 'cmath'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\motion_functions\ChFunction_Base.h(21): error : Unable to find 'cstdlib'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\motion_functions\ChFunction_Base.h(22): error : Unable to find 'cstring'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\motion_functions\ChFunction_Base.h(23): error : Unable to find 'list'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\core\ChVector2.h(22): error : Unable to find 'algorithm'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\core\ChVector2.h(23): error : Unable to find 'cmath'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\core\ChVector2.h(24): error : Unable to find 'limits'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\motion_functions\ChFunction_Recorder.h(18): error : Unable to find 'iterator'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\motion_functions\ChFunction_Recorder.h(19): error : Unable to find 'list'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\motion_functions\ChFunction_Sequence.h(18): error : Unable to find 'list'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\physics\ChObject.h(18): error : Unable to find 'cfloat'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\physics\ChObject.h(19): error : Unable to find 'cmath'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\physics\ChObject.h(20): error : Unable to find 'cstdlib'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\physics\ChObject.h(21): error : Unable to find 'iostream'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\physics\ChObject.h(22): error : Unable to find 'memory'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\physics\ChObject.h(23): error : Unable to find 'string'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\physics\ChObject.h(28): error : Unable to find 'vector'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\core\ChQuadrature.h(18): error : Unable to find 'vector'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\collision\ChCollisionModel.h(22): error : Unable to find 'vector'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\geometry\ChLinePath.h(18): error : Unable to find 'cmath'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\geometry\ChLine.h(18): error : Unable to find 'cmath'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\geometry\ChGeometry.h(18): error : Unable to find 'memory'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\geometry\ChTriangleMesh.h(18): error : Unable to find 'cmath'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\geometry\ChTriangle.h(18): error : Unable to find 'cmath'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\physics\ChMaterialSurface.h(18): error : Unable to find 'algorithm'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\physics\ChBody.h(18): error : Unable to find 'cmath'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\physics\ChMarker.h(18): error : Unable to find 'cstdlib'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\physics\ChMarker.h(19): error : Unable to find 'iostream'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\physics\ChSystem.h(18): error : Unable to find 'cfloat'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\physics\ChSystem.h(19): error : Unable to find 'memory'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\physics\ChSystem.h(20): error : Unable to find 'cstdlib'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\physics\ChSystem.h(21): error : Unable to find 'cmath'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\physics\ChSystem.h(22): error : Unable to find 'cstring'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\physics\ChSystem.h(23): error : Unable to find 'iostream'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\physics\ChSystem.h(24): error : Unable to find 'list'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\core\ChGlobal.h(16): error : Unable to find 'string'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\core\ChTimer.h(29): error : Unable to find 'ratio'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\core\ChTimer.h(30): error : Unable to find 'chrono'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\physics\ChAssembly.h(18): error : Unable to find 'cmath'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\fea\ChMesh.h(18): error : Unable to find 'cstdlib'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\fea\ChMesh.h(19): error : Unable to find 'cmath'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\core\ChTensors.h(21): error : Unable to find 'cstdlib'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\core\ChTensors.h(22): error : Unable to find 'cmath'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\physics\ChLinkForce.h(18): error : Unable to find 'cfloat'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\physics\ChLinkForce.h(19): error : Unable to find 'cmath'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\physics\ChLinkMask.h(18): error : Unable to find 'cmath'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\physics\ChLinkMask.h(19): error : Unable to find 'vector'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\geometry\ChLineSegment.h(18): error : Unable to find 'cmath'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\physics\ChContactContainer.h(23): error : Unable to find 'list'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\physics\ChContactContainer.h(24): error : Unable to find 'unordered_map'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\collision\ChCollisionModelBullet.h(21): error : Unable to find 'memory'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\collision\ChCollisionModelBullet.h(22): error : Unable to find 'vector'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src/chrono/collision/bullet\LinearMath\cbtScalar.h(23): error : Unable to find 'math.h'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src/chrono/collision/bullet\LinearMath\cbtScalar.h(24): error : Unable to find 'stdlib.h'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src/chrono/collision/bullet\LinearMath\cbtScalar.h(25): error : Unable to find 'float.h'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src/chrono/collision/bullet\LinearMath\cbtScalar.h(269): error : Unable to find 'assert.h'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src/chrono/collision/bullet\LinearMath\cbtMatrix3x3.h(20): error : Unable to find 'stdio.h'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src/chrono/collision/bullet\LinearMath\cbtAlignedObjectArray.h(38): error : Unable to find 'new'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\geometry\ChTriangleMeshConnected.h(18): error : Unable to find 'array'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\geometry\ChTriangleMeshConnected.h(19): error : Unable to find 'cmath'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\geometry\ChTriangleMeshConnected.h(20): error : Unable to find 'map'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\fea\ChMeshFileLoader.h(20): error : Unable to find 'map'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\fea\ChElementShellANCF_3423.h(20): error : Unable to find 'vector'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\fea\ChElementShellBST.h(21): error : Unable to find 'vector'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\fea\ChElementShellBST.h(22): error : Unable to find 'array'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\fea\ChMaterialShellKirchhoff.h(20): error : Unable to find 'array'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\fea\ChMaterialShellKirchhoff.h(21): error : Unable to find 'vector'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono_irrlicht\ChIrrAppInterface.h(16): error : Unable to find 'vector'
1>C:/Users/ZQUINTON/code/libraries/irrlicht-1.8.4/include\IrrCompileConfig.h(17): error : Unable to find 'stdio.h'
1>C:/Users/ZQUINTON/code/libraries/irrlicht-1.8.4/include\irrTypes.h(114): error : Unable to find 'wchar.h'
1>C:/Users/ZQUINTON/code/libraries/irrlicht-1.8.4/include\irrMath.h(10): error : Unable to find 'math.h'
1>C:/Users/ZQUINTON/code/libraries/irrlicht-1.8.4/include\irrMath.h(11): error : Unable to find 'float.h'
1>C:/Users/ZQUINTON/code/libraries/irrlicht-1.8.4/include\irrMath.h(12): error : Unable to find 'stdlib.h'
1>C:/Users/ZQUINTON/code/libraries/irrlicht-1.8.4/include\irrMath.h(13): error : Unable to find 'limits.h'
1>C:/Users/ZQUINTON/code/libraries/irrlicht-1.8.4/include\irrAllocator.h(9): error : Unable to find 'new'
1>C:/Users/ZQUINTON/code/libraries/irrlicht-1.8.4/include\irrAllocator.h(11): error : Unable to find 'memory.h'
1>C:/Users/ZQUINTON/code/libraries/irrlicht-1.8.4/include\irrString.h(11): error : Unable to find 'stdio.h'
1>C:/Users/ZQUINTON/code/libraries/irrlicht-1.8.4/include\irrString.h(12): error : Unable to find 'string.h'
1>C:/Users/ZQUINTON/code/libraries/irrlicht-1.8.4/include\irrString.h(13): error : Unable to find 'stdlib.h'
1>C:/Users/ZQUINTON/code/libraries/irrlicht-1.8.4/include\irrXML.h(8): error : Unable to find 'stdio.h'
1>C:/Users/ZQUINTON/code/libraries/irrlicht-1.8.4/include\irrpack.h(37): error : CPP #error "compiler not supported". Use the -cpperraswarn option to continue swig processing.
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\core\ChRealtimeStep.h(18): error : Unable to find 'limits'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono_irrlicht\ChIrrTools.h(16): error : Unable to find 'vector'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono_postprocess\ChPovRay.h(18): error : Unable to find 'fstream'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono_postprocess\ChPovRay.h(19): error : Unable to find 'sstream'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono_postprocess\ChPovRay.h(20): error : Unable to find 'string'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono_postprocess\ChPovRay.h(21): error : Unable to find 'unordered_map'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono_postprocess\ChPostProcessBase.h(18): error : Unable to find 'fstream'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono_postprocess\ChPostProcessBase.h(19): error : Unable to find 'string'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono_postprocess\ChPostProcessBase.h(20): error : Unable to find 'sstream'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono_irrlicht\ChIrrAssetConverter.h(16): error : Unable to find 'string'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\geometry\ChBox.h(18): error : Unable to find 'cmath'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\geometry\ChVolume.h(18): error : Unable to find 'cmath'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\assets\ChTriangleMeshShape.h(18): error : Unable to find 'vector'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\geometry\ChLineArc.h(18): error : Unable to find 'cmath'
1>C:/Users/ZQUINTON/code/chrono_dev/chrono/src\chrono\geometry\ChSurface.h(18): error : Unable to find 'cmath'
1>C:/Users/ZQUINTON/code/libraries/CMake-hdf5-1.10.8/CMake-hdf5-1.10.8/build/HDF5-1.10.8-win64/HDF5-1.10.8-win64/include\H5public.h(38): error : Unable to find 'sys\types.h'
1>C:/Users/ZQUINTON/code/libraries/CMake-hdf5-1.10.8/CMake-hdf5-1.10.8/build/HDF5-1.10.8-win64/HDF5-1.10.8-win64/include\H5public.h(41): error : Unable to find 'limits.h'
1>C:/Users/ZQUINTON/code/libraries/CMake-hdf5-1.10.8/CMake-hdf5-1.10.8/build/HDF5-1.10.8-win64/HDF5-1.10.8-win64/include\H5public.h(42): error : Unable to find 'stdarg.h'
1>C:/Users/ZQUINTON/code/libraries/CMake-hdf5-1.10.8/CMake-hdf5-1.10.8/build/HDF5-1.10.8-win64/HDF5-1.10.8-win64/include\H5public.h(50): error : Unable to find 'stdint.h'
1>C:/Users/ZQUINTON/code/libraries/CMake-hdf5-1.10.8/CMake-hdf5-1.10.8/build/HDF5-1.10.8-win64/HDF5-1.10.8-win64/include\H5public.h(54): error : Unable to find 'inttypes.h'
1>C:/Users/ZQUINTON/code/libraries/CMake-hdf5-1.10.8/CMake-hdf5-1.10.8/build/HDF5-1.10.8-win64/HDF5-1.10.8-win64/include\H5public.h(57): error : Unable to find 'stddef.h'
1>C:/Users/ZQUINTON/code/libraries/CMake-hdf5-1.10.8/CMake-hdf5-1.10.8/build/HDF5-1.10.8-win64/HDF5-1.10.8-win64/include\H5public.h(227): error : Unable to find 'stdbool.h'
1>C:/Users/ZQUINTON/code/libraries/CMake-hdf5-1.10.8/CMake-hdf5-1.10.8/build/HDF5-1.10.8-win64/HDF5-1.10.8-win64/include\H5Epublic.h(20): error : Unable to find 'stdio.h'
1>C:/Users/ZQUINTON/code/libraries/CMake-hdf5-1.10.8/CMake-hdf5-1.10.8/build/HDF5-1.10.8-win64/HDF5-1.10.8-win64/include\H5Gpublic.h(28): error : Unable to find 'sys\types.h'
1>C:/Users/ZQUINTON/code/libraries/CMake-hdf5-1.10.8/CMake-hdf5-1.10.8/build/HDF5-1.10.8-win64/HDF5-1.10.8-win64/include\H5Exception.h(18): error : Unable to find 'string'
1>C:\Users\ZQUINTON\code\HydroChrono\swig\hydro_forces.i(84): error : Unable to find 'vector'
Reply all
Reply to author
Forward
0 new messages