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' On Monday, July 25, 2022 at 10:43:49 AM UTC-7 Zuriah Quinton wrote: > 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 > <https://gcc02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fzur-quin%2FHydroChrono%2Ftree%2Fadd_python&data=05%7C01%7CZuriah.Quinton%40nrel.gov%7C6a4adb8136e741b4a4a008da6cb873c9%7Ca0f29d7e28cd4f5484427885aee7c080%7C0%7C0%7C637941837158357539%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C2000%7C%7C%7C&sdata=kbAEzbGbw5qWqZ1dq9Q2ipUd4k17tix%2Bo7b7fbj7co4%3D&reserved=0>) > > 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 > > [email protected] | 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) > > > > > > > -- 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 [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/projectchrono/34fe2449-1124-4fc0-9bb4-3daafc5755b3n%40googlegroups.com.
