Prof. Bangerth, 

I think yes, but I can't be sure. I have created a minimum working example 
(attached) for your reference. Only main.cc , src/ibvp.h and src/ibvp.h 
have a few lines of code. Rest all files are cleaned. 

One thing I notice is that ibvp.cc is being compiled in the middle of the 
compilation but it probably should be done after all the member functions 
are compiled. 

[ 11%] Building CXX object src/CMakeFiles/mylib.dir/assemble.cc.o
[ 22%] Building CXX object src/CMakeFiles/mylib.dir/gausspoint.cc.o
[ 33%] Building CXX object src/CMakeFiles/mylib.dir/ibvp.cc.o
[ 44%] Building CXX object src/CMakeFiles/mylib.dir/output.cc.o
[ 55%] Building CXX object src/CMakeFiles/mylib.dir/setup_system.cc.o
[ 66%] Building CXX object src/CMakeFiles/mylib.dir/solve.cc.o
[ 77%] Building CXX object src/CMakeFiles/mylib.dir/utils.cc.o
[ 88%] Linking CXX static library libmylib.a
[100%] Built target mylib

I am not sure if the error is related to this or not. 

On Thursday, August 31, 2023 at 8:26:29 PM UTC+5:30 Wolfgang Bangerth wrote:

>
> Sabyasachi,
> I know what the error means, but it's impossible to tell without seeing 
> the code. Are you sure you are linking the executable you create from 
> main.cc against the shared library you create?
>
> Best
> W.
>
> On 8/31/23 01:51, sabyasachi chatterjee wrote:
> > *** Caution: EXTERNAL Sender ***
> > 
> > I added at the end of ibvp.h:
> > typedef ibvp<3> ibvp_obj;
> > 
> > I added at the end of ibvp.cc:
> > template class ibvp<3>;
> > 
> > Then in main.cc, I create the object as
> > ibvp_obj irradiation;
> > 
> > It is still returning exactly the same error of undefined reference.
> > 
> > 
> /home/sabyasachi/Documents/current_research/irradiated_materials/irradiated_tension_engg_400C/main.cc:96:
>  
>
> > error: undefined reference to 'ibvp<3>::ibvp()'
> > 
> /home/sabyasachi/Documents/current_research/irradiated_materials/irradiated_tension_engg_400C/main.cc:98:
>  
>
> > error: undefined reference to 'ibvp<3>::run()'
> > 
> /home/sabyasachi/Documents/current_research/irradiated_materials/irradiated_tension_engg_400C/main.cc:128:
>  
>
> > error: undefined reference to 'ibvp<3>::~ibvp()'
> > 
> /home/sabyasachi/Documents/current_research/irradiated_materials/irradiated_tension_engg_400C/main.cc:128:
>  
>
> > error: undefined reference to 'ibvp<3>::~ibvp()'
> > collect2: error: ld returned 1 exit status
> > make[2]: *** [CMakeFiles/main.dir/build.make:132: main] Error 1
> > make[1]: *** [CMakeFiles/Makefile2:100: CMakeFiles/main.dir/all] Error 2
> > make: *** [Makefile:91: all] Error 2
> > 
> > I also tried template class ibvp_obj<3> at the end of .cc but still the 
> > same error.
> > On Wednesday, August 30, 2023 at 9:59:05 PM UTC+5:30 Wolfgang Bangerth 
> > wrote:
> > 
> > On 8/30/23 00:22, sabyasachi chatterjee wrote:
> > >
> > >
> > 
> /home/sabyasachi/Documents/current_research/irradiated_materials/irradiated_tension_engg_400C/main.cc:96:
> > 
> > > error: undefined reference to 'ibvp<3>::ibvp()'
> > 
> > You will likely have to add 'explicit instantiations' to the bottom of
> > the .cc file. Like here:
> > 
> https://stackoverflow.com/questions/2351148/explicit-template-instantiation-when-is-it-used
> > <
> https://stackoverflow.com/questions/2351148/explicit-template-instantiation-when-is-it-used
> >
> > 
> > 
> > Best
> > W.
> > 
> > -- 
> > ------------------------------------------------------------------------
> > 
> > Wolfgang Bangerth email: bang...@colostate.edu
> > www: http://www.math.colostate.edu/~bangerth/
> > <http://www.math.colostate.edu/~bangerth/>
> > 
> > -- 
> > The deal.II project is located at http://www.dealii.org/ 
> > <http://www.dealii.org/>
> > For mailing list/forum options, see 
> > https://groups.google.com/d/forum/dealii?hl=en 
> > <https://groups.google.com/d/forum/dealii?hl=en>
> > ---
> > You received this message because you are subscribed to the Google 
> > Groups "deal.II User Group" group.
> > To unsubscribe from this group and stop receiving emails from it, send 
> > an email to dealii+un...@googlegroups.com 
> > <mailto:dealii+un...@googlegroups.com>.
> > To view this discussion on the web visit 
> > 
> https://groups.google.com/d/msgid/dealii/2bd60445-4b14-424e-bb05-bf07cc73d405n%40googlegroups.com
>  
> > <
> https://groups.google.com/d/msgid/dealii/2bd60445-4b14-424e-bb05-bf07cc73d405n%40googlegroups.com?utm_medium=email&utm_source=footer
> >.
>
>
> -- 
> ------------------------------------------------------------------------
> Wolfgang Bangerth email: bang...@colostate.edu
> www: http://www.math.colostate.edu/~bangerth/
>

-- 
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see 
https://groups.google.com/d/forum/dealii?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to dealii+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dealii/5bf9e6db-ea82-4bcd-bdfc-e3dda06a99ban%40googlegroups.com.

<<attachment: mwe.zip>>

Reply via email to