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