Dear Khan,
I think the problem is your first error message. Your GCC compiler is
probably older and doesn't understand unique pointer type.
You can solve it by either installing the latest GCC, or, since you are
working on Windows, consider using Microsft Visual C++.
Best regards,
Andriy
On 19 May 2016 at 14:37, Khan, Asim <[email protected]> wrote:
> Dear Member,
>
> I am using getFEM on windows and has made the files using MinSYS and
> MinGW. I am using Eclipse for C++ editor and complier. for the example
> given on the tutorial i am getting following error message. Being new to
> C++ i am unable to understand the error. and the method to remove this
>
> Error :
>
> In file included from c:\mingw\include\getfem\getfem_mesh_slice.h:40:0,
> from c:\mingw\include\getfem\getfem_export.h:42,
> from ..\test1.cpp:14:
> c:\mingw\include\getfem\getfem_mesh_slicers.h:450:10: error: 'unique_ptr'
> in namespace 'std' does not name a template type
> std::unique_ptr<const mesh_slice_cv_dof_data_base> mfU;
> ^
> c:\mingw\include\getfem\getfem_mesh_slicers.h: In constructor
> 'getfem::slicer_isovalues::slicer_isovalues(const
> getfem::mesh_slice_cv_dof_data_base&, bgeot::scalar_type, int)':
>
> c:\mingw\include\getfem\getfem_mesh_slicers.h:468:31: error: class
> 'getfem::slicer_isovalues' does not have any field named 'mfU'
> slicer_volume(orient_), mfU(mfU_.clone()), val(val_) {
> ^
> In file included from c:\mingw\include\gmm\gmm_ref.h:46:0,
> from c:\mingw\include\gmm\gmm_def.h:40,
> from c:\mingw\include\gmm\gmm_kernel.h:41,
> from
> c:\mingw\include\getfem\getfem_assembling_tensors.h:40,
> from c:\mingw\include\getfem\getfem_assembling.h:44,
> from c:\mingw\include\getfem\getfem_models.h:42,
> from c:\mingw\include\getfem\getfem_model_solvers.h:42,
> from ..\test1.cpp:13:
> c:\mingw\include\getfem\getfem_mesh_slicers.h:469:7: error: 'mfU' was not
> declared in this scope
> GMM_ASSERT1(mfU->pmf->get_qdim() == 1,
> ^
> In file included from c:\mingw\include\getfem\getfem_mesh_slice.h:40:0,
> from c:\mingw\include\getfem\getfem_export.h:42,
> from ..\test1.cpp:14:
> c:\mingw\include\getfem\getfem_mesh_slicers.h:471:23: error: 'mfU' was not
> declared in this scope
> val_scaling = mfU->maxval();
> ^
> In file included from ..\test1.cpp:14:0:
> c:\mingw\include\getfem\getfem_export.h: At global scope:
> c:\mingw\include\getfem\getfem_export.h:73:10: error: 'unique_ptr' in
> namespace 'std' does not name a template type
> std::unique_ptr<mesh_fem> pmf;
> ^
> c:\mingw\include\getfem\getfem_export.h: In member function 'void
> getfem::vtk_export::write_point_data(const getfem::mesh_fem&, const VECT&,
> const string&)':
> c:\mingw\include\getfem\getfem_export.h:203:34: error: 'pmf' was not
> declared in this scope
> std::vector<scalar_type> V(pmf->nb_dof() * Q);
> ^
> c:\mingw\include\getfem\getfem_export.h: In member function 'void
> getfem::vtk_export::write_dataset_(const VECT&, const string&,
> bgeot::size_type, bool)':
> c:\mingw\include\getfem\getfem_export.h:240:22: error: 'pmf' was not
> declared in this scope
> : pmf->linked_mesh().convex_index().card();
> ^
> c:\mingw\include\getfem\getfem_export.h: At global scope:
> c:\mingw\include\getfem\getfem_export.h:296:10: error: 'unique_ptr' in
> namespace 'std' does not name a template type
> std::unique_ptr<mesh_fem> pmf;
> ^
> c:\mingw\include\getfem\getfem_export.h: In member function 'void
> getfem::dx_export::write_point_data(const getfem::mesh_fem&, const VECT&,
> std::string)':
> c:\mingw\include\getfem\getfem_export.h:449:34: error: 'pmf' was not
> declared in this scope
> std::vector<scalar_type> V(pmf->nb_dof() * Q);
> ^
> c:\mingw\include\getfem\getfem_export.h: In member function 'void
> getfem::dx_export::write_dataset_(const VECT&, std::string, bool)':
> c:\mingw\include\getfem\getfem_export.h:485:22: error: 'pmf' was not
> declared in this scope
> : pmf->linked_mesh().convex_index().card();
> ^
> c:\mingw\include\getfem\getfem_export.h: At global scope:
> c:\mingw\include\getfem\getfem_export.h:551:10: error: 'unique_ptr' in
> namespace 'std' does not name a template type
> std::unique_ptr<mesh_fem> pmf;
> ^
> c:\mingw\include\getfem\getfem_export.h: In member function 'void
> getfem::pos_export::write(const getfem::mesh_fem&, const VECT&, const
> string&)':
> c:\mingw\include\getfem\getfem_export.h:616:34: error: 'pmf' was not
> declared in this scope
> std::vector<scalar_type> V(pmf->nb_dof()*qdim_u);
> ^
> ..\test1.cpp: In function 'int main()':
> ..\test1.cpp:50:10: error: declaration does not declare anything
> [-fpermissive]
> getfem::mesher_signed_distance;
> ^
> ..\test1.cpp:51:2: error: 'mo1' was not declared in this scope
> mo1 = getfem::new_mesher_rectangle(base_node(0., 0.), base_node(100.,
> 25.)),
> ^
> ..\test1.cpp:51:8: error: 'new_mesher_rectangle' is not a member of
> 'getfem'
> mo1 = getfem::new_mesher_rectangle(base_node(0., 0.), base_node(100.,
> 25.)),
> ^
> ..\test1.cpp:52:2: error: 'mo2' was not declared in this scope
> mo2 = getfem::new_mesher_ball(base_node(25., 12.5), 8.),
> ^
> ..\test1.cpp:52:8: error: 'new_mesher_ball' is not a member of 'getfem'
> mo2 = getfem::new_mesher_ball(base_node(25., 12.5), 8.),
> ^
> ..\test1.cpp:53:2: error: 'mo3' was not declared in this scope
> mo3 = getfem::new_mesher_ball(base_node(50., 12.5), 8.),
> ^
> ..\test1.cpp:53:8: error: 'new_mesher_ball' is not a member of 'getfem'
> mo3 = getfem::new_mesher_ball(base_node(50., 12.5), 8.),
> ^
> ..\test1.cpp:54:2: error: 'mo4' was not declared in this scope
> mo4 = getfem::new_mesher_ball(base_node(75., 12.5), 8.),
> ^
> ..\test1.cpp:54:8: error: 'new_mesher_ball' is not a member of 'getfem'
> mo4 = getfem::new_mesher_ball(base_node(75., 12.5), 8.),
> ^
> ..\test1.cpp:55:2: error: 'mo5' was not declared in this scope
> mo5 = getfem::new_mesher_union(mo2, mo3, mo4),
> ^
> ..\test1.cpp:55:8: error: 'new_mesher_union' is not a member of 'getfem'
> mo5 = getfem::new_mesher_union(mo2, mo3, mo4),
> ^
> ..\test1.cpp:56:2: error: 'mo' was not declared in this scope
> mo = getfem::new_mesher_setminus(mo1, mo5);
> ^
> ..\test1.cpp:56:7: error: 'new_mesher_setminus' is not a member of 'getfem'
> mo = getfem::new_mesher_setminus(mo1, mo5);
>
> Do i have to rebuild the library files or its some syntex error that i
> donot understand
>
> help inthis regard is thanks giving.
>
> KHanA
>
> _______________________________________________
> Getfem-users mailing list
> [email protected]
> https://mail.gna.org/listinfo/getfem-users
>
>
_______________________________________________
Getfem-users mailing list
[email protected]
https://mail.gna.org/listinfo/getfem-users