Hi,

the MitkDiffusionIO module is a "auto-load module" which *should* only provide IO classes for diffusion related types. Such a module usually does not export any symbols and hence does not have a public API. Although you can technically link to it (by writing DEPENDS MitkDiffusionIO) there are two issues:

1. The module usually does not have a public API
2. The module's runtime file (.so, .dll, .dylib) is located in a special sub-directory which leads to runtime linker errors due to missing PATH entries on Windows

In your case, the mitk::FiberBundleXMapper2D is not exported and hence not public API. You might argue that it should be moved e.g. into the MitkFiberTracking module and be exported for re-use. This is a decision for our diffusion sub-group and you might want to discuss this in a separate mail.

Best,
Sascha

On 01/07/2015 06:41 PM, Nil Goyette wrote:
Hi all,

I'm trying to extend mitk::FiberBundleXMapper2D to change its behavior.
To do so, I created my own class where I changed one of the virtual method and added MitkDiffusionIO to my cmakelist
MITK_CREATE_MODULE( ImekaFiber
  DEPENDS MitkDataTypesExt MitkDiffusionIO ...
  PACKAGE_DEPENDS Qt4|QtCore
  EXPORT_DEFINE IMEKAFIBER_EXPORT
)
Yes, I use IMEKAFIBER_EXPORT with my class.

The problem is, I have some external errors that I don't understand:
PeaksMapper2D.obj : error LNK2001: unresolved external symbol...
public: virtual class vtkProp * __cdecl mitk::FiberBundleXMapper2D::GetVtkProp(class mitk::BaseRenderer *) protected: __cdecl mitk::FiberBundleXMapper2D::FiberBundleXMapper2D(void) protected: virtual __cdecl mitk::FiberBundleXMapper2D::~FiberBundleXMapper2D(void) protected: virtual void __cdecl mitk::FiberBundleXMapper2D::GenerateDataForRenderer(class mitk::BaseRenderer *)

On another module, I use the MitkFiberTracking module and it works. The only difference I can see is that MitkDiffusionIO has "AUTOLOAD_WITH MitkCore" in its cmakelist. Is it possible to depend on a module that uses autoload? Thank you for your time.

--
Logo Imeka <http://imeka.ca/>     Nil Goyette, M.Sc.
www.imeka.ca <http://imeka.ca/>


------------------------------------------------------------------------------
Dive into the World of Parallel Programming! The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net
_______________________________________________
mitk-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mitk-users

Reply via email to