Hello Martin, Thanks for your attention and support. The include error was my mistake in exploring the code. The conflict with FMDB and GMSH is present. Now i am trying to use namespace to isolated the problem changing the code of GMSH. When happen some good news i'll return here.
I think the better question to the Forum is: Someone used in same project FMDB and GMSH? Using API, and not system call? Best regards, Bruno Correia Hi Bruno, check two things: 1) iofwd.h, line 25: make sure that whatever you put there has this form: #include "my_file.h" // The # at the beginning is important. and not include "my_file.h" or include<my_file.h> Use < > for STL headers. 2) if iofwd is a header created by you, make sure you used include guards. The first two lines and the last line of your file should say something like #ifndef IOFWD_H // first line #define IOFWD_H // second line ... your code .... #endif // last line of the file. Best regards, Martin Vymazal 2013/1/17 Bruno Correia da Silva <b...@cin.ufpe.br> > Hey Martin, > > Thanks for your support. > I did what you explained about add "MEdge.h" and "MFace.h". After this, i > change again my CMAKELIST.txt. > I'm using UNIX makefile compiler and default native compilers. > For better explained: I'm using the FMDB library. > > My CMAKELIST now is: > " > *set (APPLICATIONS /home/padmec/applications) > ## FMDB > set (FMDB_INCLUDE "${APPLICATIONS}/FMDB-2011/**include" CACHE PATH > "Directory where FMDB header files can be found") > set (FMDB_LIB "${APPLICATIONS}/FMDB-2011/**lib" CACHE PATH "Directory > where the FMDB library can be found") > include_directories(${FMDB_**INCLUDE}) > link_directories(${FMDB_LIB}) > link_libraries(FMDB-O) > > #GMSH > SET( GMSH_SRC "/home/padmec/Desktop/gmsh/**gmsh" CACHE STRING "GMSH SRC" ) > SET( GMSH_INC > "${GMSH_SRC}/Common" > "${GMSH_SRC}/Geo" > "${GMSH_SRC}/Plugin" > "${GMSH_SRC}/Solver" > "${GMSH_SRC}/Numeric" > "${GMSH_SRC}/build/Common" ) > INCLUDE_DIRECTORIES( ${GMSH_INC} ) > > SET( GMSH_LIB "${GMSH_SRC}/lib" ) > > add_executable(Remeshing__Proj ${SRCS} ${HDRS}) > TARGET_LINK_LIBRARIES(Remeshing__Proj Gmsh ) > *" > And show me this errors: > "* > /home/padmec/applications/FMDB-2011/include/iofwd.h: At global scope: > /home/padmec/applications/FMDB-2011/include/iofwd.h:25:1: error: ‘include’ > does not name a type > In file included from > /home/padmec/Desktop/gmsh/gmsh/Numeric/Numeric.h:12:0, > from /home/padmec/Desktop/gmsh/gmsh/Geo/GFace.h:19, > from /home/padmec/Desktop/gmsh/gmsh/Geo/GModel.h:16, > from > /home/padmec/Downloads/Remeshing__project/src/Remover.cpp:10: > /home/padmec/applications/FMDB-2011/include/SPoint3.h: In function > ‘SPoint3 operator+(const SPoint3&, const SPoint3&)’: > /home/padmec/applications/FMDB-2011/include/SPoint3.h:85:16: error: > redefinition of ‘SPoint3 operator+(const SPoint3&, const SPoint3&)’ > /home/padmec/Desktop/gmsh/gmsh/Geo/SPoint3.h:49:16: error: ‘SPoint3 > operator+(const SPoint3&, const SPoint3&)’ previously defined here > /home/padmec/applications/FMDB-2011/include/SPoint3.h: In function > ‘SPoint3 operator-(const SPoint3&, const SPoint3&)’: > /home/padmec/applications/FMDB-2011/include/SPoint3.h:88:16: error: > redefinition of ‘SPoint3 operator-(const SPoint3&, const SPoint3&)’ > /home/padmec/Desktop/gmsh/gmsh/Geo/SPoint3.h:52:16: error: ‘SPoint3 > operator-(const SPoint3&, const SPoint3&)’ previously defined here > /home/padmec/applications/FMDB-2011/include/SPoint3.h: At global scope: > /home/padmec/applications/FMDB-2011/include/SPoint3.h:91:13: error: > redefinition of ‘void SPoint3::setPosition(double, double, double)’ > /home/padmec/Desktop/gmsh/gmsh/Geo/SPoint3.h:55:13: error: ‘void > SPoint3::setPosition(double, double, double)’ previously defined here > /home/padmec/applications/FMDB-2011/include/SPoint3.h:94:13: error: > redefinition of ‘void SPoint3::getPosition(double*, double*, double*) const’ > /home/padmec/Desktop/gmsh/gmsh/Geo/SPoint3.h:58:13: error: ‘void > SPoint3::getPosition(double*, double*, double*) const’ previously defined > here > /home/padmec/applications/FMDB-2011/include/SPoint3.h:97:13: error: > redefinition of ‘void SPoint3::position(double*) const’ > /home/padmec/Desktop/gmsh/gmsh/Geo/SPoint3.h:61:13: error: ‘void > SPoint3::position(double*) const’ previously defined here > /home/padmec/applications/FMDB-2011/include/SPoint3.h:100:15: error: > redefinition of ‘double SPoint3::x() const’ > /home/padmec/Desktop/gmsh/gmsh/Geo/SPoint3.h:64:15: error: ‘double > SPoint3::x() const’ previously defined here > /home/padmec/applications/FMDB-2011/include/SPoint3.h:103:15: error: > redefinition of ‘double SPoint3::y() const’ > /home/padmec/Desktop/gmsh/gmsh/Geo/SPoint3.h:67:15: error: ‘double > SPoint3::y() const’ previously defined here > /home/padmec/applications/FMDB-2011/include/SPoint3.h:106:15: error: > redefinition of ‘double SPoint3::z() const’ > /home/padmec/Desktop/gmsh/gmsh/Geo/SPoint3.h:70:15: error: ‘double > SPoint3::z() const’ previously defined here > /home/padmec/applications/FMDB-2011/include/SPoint3.h:109:18: error: > redefinition of ‘SPoint3& SPoint3::operator=(const SPoint3&)’ > /home/padmec/Desktop/gmsh/gmsh/Geo/SPoint3.h:73:18: error: ‘SPoint3& > SPoint3::operator=(const SPoint3&)’ previously defined here > /home/padmec/applications/FMDB-2011/include/SPoint3.h:112:13: error: > redefinition of ‘void SPoint3::operator+=(const SPoint3&)’ > /home/padmec/Desktop/gmsh/gmsh/Geo/SPoint3.h:76:13: error: ‘void > SPoint3::operator+=(const SPoint3&)’ previously defined here > /home/padmec/applications/FMDB-2011/include/SPoint3.h:115:13: error: > redefinition of ‘void SPoint3::operator-=(const SPoint3&)’ > /home/padmec/Desktop/gmsh/gmsh/Geo/SPoint3.h:79:13: error: ‘void > SPoint3::operator-=(const SPoint3&)’ previously defined here > /home/padmec/applications/FMDB-2011/include/SPoint3.h:118:13: error: > redefinition of ‘void SPoint3::operator*=(double)’ > /home/padmec/Desktop/gmsh/gmsh/Geo/SPoint3.h:82:13: error: ‘void > SPoint3::operator*=(double)’ previously defined here > /home/padmec/applications/FMDB-2011/include/SPoint3.h:121:16: error: > redefinition of ‘SPoint3 SPoint3::operator*(double)’ > /home/padmec/Desktop/gmsh/gmsh/Geo/SPoint3.h:88:16: error: ‘SPoint3 > SPoint3::operator*(double)’ previously defined here > /home/padmec/applications/FMDB-2011/include/SPoint3.h:124:16: error: > redefinition of ‘double& SPoint3::operator[](int)’ > /home/padmec/Desktop/gmsh/gmsh/Geo/SPoint3.h:91:16: error: ‘double& > SPoint3::operator[](int)’ previously defined here > /home/padmec/applications/FMDB-2011/include/SPoint3.h:127:15: error: > redefinition of ‘double SPoint3::operator[](int) const’ > .... > In file included from > /home/padmec/Desktop/gmsh/gmsh/Numeric/Numeric.h:13:0, > from /home/padmec/Desktop/gmsh/gmsh/Geo/GFace.h:19, > from /home/padmec/Desktop/gmsh/gmsh/Geo/GModel.h:16, > from > /home/padmec/Downloads/Remeshing__project/src/Remover.cpp:10: > /home/padmec/applications/FMDB-2011/include/SVector3.h:27:7: error: > redefinition of ‘class SVector3’ > /home/padmec/Desktop/gmsh/gmsh/Geo/SVector3.h:15:7: error: previous > definition of ‘class SVector3’ > /home/padmec/applications/FMDB-2011/include/SVector3.h:96:16: error: > redefinition of ‘double& SVector3::operator[](int)’ > /home/padmec/Desktop/gmsh/gmsh/Geo/SVector3.h:40:11: error: ‘double& > SVector3::operator[](int)’ previously defined here > /home/padmec/applications/FMDB-2011/include/SVector3.h:99:15: error: > redefinition of ‘double SVector3::operator[](int) const’ > /home/padmec/Desktop/gmsh/gmsh/Geo/SVector3.h:41:10: error: ‘double > SVector3::operator[](int) const’ previously defined here > /home/padmec/applications/FMDB-2011/include/SVector3.h:102:16: error: > redefinition of ‘double& SVector3::operator()(int)’ > /home/padmec/Desktop/gmsh/gmsh/Geo/SVector3.h:42:11: error: ‘double& > SVector3::operator()(int)’ previously defined here > /home/padmec/applications/FMDB-2011/include/SVector3.h:105:15: error: > redefinition of ‘double SVector3::operator()(int) const’ > /home/padmec/Desktop/gmsh/gmsh/Geo/SVector3.h:43:10: error: ‘double > SVector3::operator()(int) const’ previously defined here* > " > Anyone used FMDB and GMSH in a same project? Anyone saw similar errors? > > Thanks, > Best Regards > Bruno Correia > > -------------------- > > Hi Bruno, > > try to add > > #include "MEdge.h" > #include "MFace.h" > > at the beginning of your code to remove the errors you see. I'm not a cmake > expert either, but I think that the recommended practice is to use > target_link_libraries(TARGET_NAME lib1 lib2 ...) and not link_directories. > > Best regards, > > Martin Vymazal > > > > 2013/1/3 Bruno Correia da Silva <b...@cin.ufpe.br> > >> Sorry, >> >> I'm using ubuntu 12.04. >> >> att. >> Bruno Correia >> >> 2013/1/3 Bruno Correia da Silva <b...@cin.ufpe.br>: >> > Hey guys, >> > >> > I'm newbie in CMake and linux and i'm still have problems to put >> > gmsh in my project to make a call from source code. >> > >> > When I add this line in my in my root project path, in file >> CMakeLists.txt: >> > " >> > #GMSH >> > SET (GMSH_LIB_PATH "/home/padmec/gmsh/lib") >> > link_directories(${GMSH_LIB_PATH}) >> > link_libraries(Gmsh) >> > SET (GMSH_INCLUDE_PATH "/home/padmec/gmsh/include/gmsh") >> > include_directories(${GMSH_INCLUDE_PATH}) >> > " >> > >> > And when i only add this lines in my cpp file: >> > " >> > #include "Gmsh.h" >> > #include "GModel.h" >> > #include "MElement.h" >> > #include "MVertex.h" >> > #include <iostream> >> > >> > " >> > Show me this error. >> > " >> > >> > In file included from >> > /home/padmec/Downloads/Remeshing__project/src/Remover.cpp:11:0: >> > /home/padmec/gmsh/include/gmsh/MElement.h: At global scope: >> > /home/padmec/gmsh/include/gmsh/MElement.h:123:11: error: ‘MEdge’ does >> > not name a type >> > /home/padmec/gmsh/include/gmsh/MElement.h:126:34: error: ‘MEdge’ does >> > not name a type >> > /home/padmec/gmsh/include/gmsh/MElement.h:126:42: error: ISO C >> > forbids declaration of ‘edge’ with no type [-fpermissive] >> > /home/padmec/gmsh/include/gmsh/MElement.h:143:11: error: ‘MFace’ does >> > not name a type >> > /home/padmec/gmsh/include/gmsh/MElement.h:146:34: error: ‘MFace’ does >> > not name a type >> > /home/padmec/gmsh/include/gmsh/MElement.h:146:42: error: ISO C >> > forbids declaration of ‘face’ with no type [-fpermissive] >> > /home/padmec/gmsh/include/gmsh/MElement.h:364:11: error: ‘MEdge’ does >> > not name a type >> > /home/padmec/gmsh/include/gmsh/MElement.h:369:10: error: ‘MEdge’ does >> > not name a type >> > /home/padmec/gmsh/include/gmsh/MElement.h:382:11: error: ‘MFace’ does >> > not name a type >> > /home/padmec/gmsh/include/gmsh/MElement.h:387:10: error: ‘MFace’ does >> > not name a type >> > make[2]: Leaving directory `/home/padmec/Downloads/Remeshing__project' >> > >> > " >> > Let's go to the asking: >> > First, someone saw this error before? >> > Second, someplace has a explicit way to add gmsh in a project using >> CMake? >> > I saw tutorial folders in gmsh source code, but doesn't help so much. >> > >> > Best regards >> > att. >> > Bruno Correia >> > >
_______________________________________________ gmsh mailing list gmsh@geuz.org http://www.geuz.org/mailman/listinfo/gmsh