christopherpoole / CADMesh

A CAD file interface for GEANT4
MIT License
146 stars 66 forks source link

Compilation error: CADMesh constructor, #21

Closed CSotty closed 4 years ago

CSotty commented 6 years ago

Hello,

There is kind of an issue with the compilation related to the constructors of CADMesh and also it does not find assimp even if well installed from the MacPorts. It is looking for assimp even if I did not took it from the CMake, maybe it is like mandatory.

I start to be out of ideas in order to make it compiling. Any suggestions would a step forward to solve this issue.

Please find below the partial output of the errors and the characteristics of the system.

[ 53%] Building CXX object CMakeFiles/cadmesh.dir/src/Mesh.cc.o
[ 63%] Building CXX object CMakeFiles/cadmesh.dir/src/STLReader.cc.o
[ 63%] Building CXX object CMakeFiles/cadmesh.dir/src/TetrahedralMesh.cc.o
[ 63%] Building CXX object CMakeFiles/cadmesh.dir/src/Lexer.cc.o
In file included from /Users/sotty/Codes_Installed_By_CS/CADMesh-master/src/Lexer.cc:3:
/Users/sotty/Codes_Installed_By_CS/CADMesh-master/include/Lexer.hh:34:14: error: no matching constructor for initialization of 'CADMesh::File::Token'
static Token ErrorToken{ "ErrorToken" };
             ^         ~~~~~~~~~~~~~~~~
/Users/sotty/Codes_Installed_By_CS/CADMesh-master/include/Lexer.hh:27:8: note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'const char [11]' to 'CADMesh::File::Token' for 1st
      argument
struct Token 
       ^
/Users/sotty/Codes_Installed_By_CS/CADMesh-master/include/Lexer.hh:27:8: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'const char [11]' to 'const CADMesh::File::Token'
      for 1st argument
struct Token 
       ^
/Users/sotty/Codes_Installed_By_CS/CADMesh-master/include/Lexer.hh:27:8: note: candidate constructor (the implicit default constructor) not viable: requires 0 arguments, but 1 was provided
/Users/sotty/Codes_Installed_By_CS/CADMesh-master/include/Lexer.hh:35:14: error: no matching constructor for initialization of 'CADMesh::File::Token'
static Token EndOfFileToken{ "EndOfFileToken" };
             ^             ~~~~~~~~~~~~~~~~~~~~
/Users/sotty/Codes_Installed_By_CS/CADMesh-master/include/Lexer.hh:27:8: note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'const char [15]' to 'CADMesh::File::Token' for 1st
      argument
struct Token 
       ^
/Users/sotty/Codes_Installed_By_CS/CADMesh-master/include/Lexer.hh:27:8: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'const char [15]' to 'const CADMesh::File::Token'
      for 1st argument
struct Token 
       ^
/Users/sotty/Codes_Installed_By_CS/CADMesh-master/include/Lexer.hh:27:8: note: candidate constructor (the implicit default constructor) not viable: requires 0 arguments, but 1 was provided
In file included from /Users/sotty/Codes_Installed_By_CS/CADMesh-master/src/ASSIMPReader.cc:2:
/Users/sotty/Codes_Installed_By_CS/CADMesh-master/include/ASSIMPReader.hh:18:10: fatal error: 'assimp/Importer.hpp' file not found
#include "assimp/Importer.hpp"
         ^~~~~~~~~~~~~~~~~~~~~
/Users/sotty/Codes_Installed_By_CS/CADMesh-master/src/Lexer.cc:99:17: error: no matching constructor for initialization of 'CADMesh::File::Item'
    auto item = Item { token, position_, line_, String(), error, parent_item_ };
                ^    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/sotty/Codes_Installed_By_CS/CADMesh-master/include/Lexer.hh:37:8: note: candidate constructor (the implicit move constructor) not viable: requires 1 argument, but 6 were provided
struct Item
       ^
/Users/sotty/Codes_Installed_By_CS/CADMesh-master/include/Lexer.hh:37:8: note: candidate constructor (the implicit copy constructor) not viable: requires 1 argument, but 6 were provided
/Users/sotty/Codes_Installed_By_CS/CADMesh-master/include/Lexer.hh:37:8: note: candidate constructor (the implicit default constructor) not viable: requires 0 arguments, but 6 were provided
1 error generated.
In file included from /Users/sotty/Codes_Installed_By_CS/CADMesh-master/src/TessellatedMesh.cc:13:
In file included from /Users/sotty/Codes_Installed_By_CS/CADMesh-master/include/TessellatedMesh.hh:15:
In file included from /Users/sotty/Codes_Installed_By_CS/CADMesh-master/include/CADMeshTemplate.hh:15:
In file included from /Users/sotty/Codes_Installed_By_CS/CADMesh-master-build/include/Configuration.hh:1:
/Users/sotty/Codes_Installed_By_CS/CADMesh-master/include/ASSIMPReader.hh:18:10: fatal error: 'assimp/Importer.hpp' file not found
#include "assimp/Importer.hpp"

[...]

Concerning the assimp:

/opt/local/lib/libassimp.dylib:
    /opt/local/lib/libassimp.4.dylib (compatibility version 4.0.0, current version 4.1.0)
    /opt/local/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.11)
    /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 400.9.0)
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1252.0.0)

System: Darwin Sifus-Mac-Pro.local 17.3.0 Darwin Kernel Version 17.3.0: Thu Nov 9 18:09:22 PST 2017; root:xnu-4570.31.3~1/RELEASE_X86_64 x86_64 g++ (GCC) 6.3.0 clang90 High Sierra 10.13

Thanks in advance :)

AtaraxiaJp commented 6 years ago

Try the release version 1.1 instead of the master branch version.

It compiles beautifully :)