It worked!

Thanks!!
Aida

2011/4/15 Xavier Planes <[email protected]>

> Hi Aida,
>
>        The error you get says that the linker cannot find the definition of
> a function. However the compiles includes a reference to this function
> using
> a .h file. The function is
> itksys::SystemToolsManager::SystemToolsManager().
>
>
>        To find where is this function I searched in GIMIAS source code and
> I found it in ITK-3.20 third party folder: SystemTools.cxx. If you open ITK
> solution in Visual Studio, you will see that this file is compiled inside
> the library itksys.lib.
>
>        So, if you receive this linking error when generating a library
> called "A", it seems that the library itksys.lib is not included in the
> linking process of the library "A", however, the library includes the
> header
> files of itksys. To check the linking properties of a project, you need to
> select the project in Visual Studio, right click and select
> Properties->(Librarian or Linker)->Input->Additional dependencies.
>
>        The first test I would do is to include the file itksys.lib in the
> linking properties of your library and check if that fixes the error. Later
> I would check that the library itksys is generated successfully and that
> the
> dependencies are correctly set.
>
> Best regards,
> Xavi
>
> From: Aida Ninyerola [mailto:[email protected]]
> Sent: viernes, 15 de abril de 2011 10:01
> To: [email protected]
> Subject: [Gimias-developers] developing my own plugin & library
>
> Hi,
>
> I've continued the development of the new plugin with my own library but
> I've now a new linking error that I don't know how to solve.
>
> My situation is the following one. My library has a class called "Prova"
> witha a method (void nova()). In my plugin I call first an API which later
> calls the method of my library.
>
> In the processor of my plugin I have:
> qd::QuantiDopaAPI qd_api;
> qd_api.Rec2dFBP();
> And in the API:
> void qd::QuantiDopaAPI::Rec2dFBP(){
>     tl::Prova ref;
>     ref.nova();
> }
> The comunication between the processor and the API works correctly. I've
> tried it before printing something on the screen instead of calling a
> function of my library. But the problem appears when I want to use the
> method "nova". The errors I get are:
>
> Error    1    error LNK2019: símbolo externo "public: __cdecl
> itksys::SystemToolsManager::SystemToolsManager(void)"
> (??0SystemToolsManager@itksys@@QEAA@XZ) sin resolver al que se hace
> referencia en la función "void __cdecl itksys::`dynamic initializer for
> 'SystemToolsManagerInstance''(void)"
> (??__ESystemToolsManagerInstance@itksys@@YAXXZ)    QuantiDopaLibLib_D.lib
>
> Error    2    error LNK2019: símbolo externo "public: __cdecl
> itksys::SystemToolsManager::~SystemToolsManager(void)"
> (??1SystemToolsManager@itksys@@QEAA@XZ) sin resolver al que se hace
> referencia en la función "void __cdecl itksys::`dynamic atexit destructor
> for 'SystemToolsManagerInstance''(void)"
> (??__FSystemToolsManagerInstance@itksys@@YAXXZ)    QuantiDopaLibLib_D.lib
>
> I hope I gave all the necessary information.
>
> Thank you in advance for all your help!
> Aida
>
>
>
------------------------------------------------------------------------------
Benefiting from Server Virtualization: Beyond Initial Workload 
Consolidation -- Increasing the use of server virtualization is a top
priority.Virtualization can reduce costs, simplify management, and improve 
application availability and disaster protection. Learn more about boosting 
the value of server virtualization. http://p.sf.net/sfu/vmware-sfdev2dev
_______________________________________________
Gimias-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/gimias-developers

Reply via email to