Hi,

please share your mitk_create_module call for you module. You need to have a 
indirect or direct package dependency to ITKCommon, i. e. "PACKAGE_DEPENDS 
ITK|ITKCommon".


Best,
Stefan

________________________________
Von: Cyril Mongis <cyril.mon...@inova-de.eu>
Gesendet: Mittwoch, 30. Mai 2018 17:43
An: mitk-users@lists.sourceforge.net
Betreff: [mitk-users] External tool fails to compile

Dear all,

I'm trying to implement a modified version of the Fast Marching Algorithm. For 
that I need a class that would inherit from the current implementation which 
would be then automatically loaded. However, the module fails to compile and 
gives me the following message :

Modules/OrganPrintTools/mitkToolExtensionITKFactoryLoader.cpp:2:10: fatal 
error: itkObjectFactoryBase.h: No such file or directory
 #include <itkObjectFactoryBase.h>
          ^~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
Modules/OrganPrintTools/CMakeFiles/OrganPrintTools.dir/build.make:62: recipe 
for target 
'Modules/OrganPrintTools/CMakeFiles/OrganPrintTools.dir/mitkToolExtensionITKFactoryLoader.cpp.o'
 failed
make[2]: *** 
[Modules/OrganPrintTools/CMakeFiles/OrganPrintTools.dir/mitkToolExtensionITKFactoryLoader.cpp.o]
 Error 1
CMakeFiles/Makefile2:112: recipe for target 
'Modules/OrganPrintTools/CMakeFiles/OrganPrintTools.dir/all' failed
make[1]: *** [Modules/OrganPrintTools/CMakeFiles/OrganPrintTools.dir/all] Error 
2
Makefile:151: recipe for target 'all' failed
make: *** [all] Error 2


I checked and the ITK library are present both on the system and on the 
MITK-build folder.

Does anybody has an idea of why this isn't working ? I already checked the 
archives of the mailing list but they didn't seem to have the same problem as 
me.

------------------- mitkFastMarchingTool4.h

#ifndef ORGANPRINTFASTMARCHINGTOOL3D_H
#define ORGANPRINTFASTMARCHINGTOOL3D_H

#include <mitkFastMarchingTool3D.h>
namespace mitk {


class MITKSEGMENTATION_EXPORT FastMarchingTool4 : public 
mitk::FastMarchingTool3D
{
    /*mitkNewMessageMacro(Ready);

    public:
    mitkClassMacro(OrganFastMarchingTool3D, AutoSegmentationTool) 
itkFactorylessNewMacro(Self) itkCloneMacro(Self);
    */
public:
    void AddPoint();

};
}
#endif // ORGANPRINTFASTMARCHINGTOOL3D_H


-------------- mitkFastMarchingTool4.cpp

#include "mitkFastMarchingTool4.h"

namespace mitk {
    MITK_TOOL_MACRO(MITKSEGMENTATION_EXPORT, FastMarchingTool4, "OP 
FastMarching3D tool");
    void FastMarchingTool4::AddPoint() {

    };
}

----------- CMakeLists.txt

project(OrganPrintTools)

find_package(ITK)


set(TOOL_FILES
    mitkFastMarchingTool4.cpp
)
set( TOOL_ADDITIONAL_MOC_H
)


MITK_GENERATE_TOOLS_LIBRARY(OrganPrintTools
  DEPENDS PUBLIC MitkCore MitkSegmentation ITK ITKCommon
  AUTOLOAD_WITH MitkCore
  PACKAGE_DEPENDS Qt5|Core ITK ITK|Common
  )


Cheers,
Cyril MONGIS
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
mitk-users mailing list
mitk-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mitk-users

Reply via email to