[Insight-users] link issue

Luis Ibanez luis.ibanez at kitware.com
Thu Sep 13 07:52:49 EDT 2007


Hi Delphine


The symbol

                      ifuShowText()

is defined in

    InsightApplications/Auxiliary/FltkImageViewer

in the files

             fltkUtils.*

 From your error message, it looks like you are building
this library as a Shared library, and since the declaration
of this function doesn't have the EXPORT, then the symbol
is not available for linking.

You can try building the library as a STATIC library
or you could add the EXPORT to the function (and probably
will have to add it for other functions too...)


Please let us know what you find....


    Thanks


       Luis


-----------------------
Delphine Ribes wrote:
> Hi,
> 
> I am using InsightToolkit-3.2.0, InsightApplications-3.0.0 and fltk-1.1.7.
> I've created a user interface using fltk and  GLSliceView.h
> 
> When I compile it, I get the following error :
> RadioactivImagesTool error LNK2019: unresolved external symbol "int 
> __cdecl ifuShowText(char const *)" (?ifuShowText@@ YAHPBD at Z) referenced 
> in function "public: virtual int __thiscall itk::SliceView<unsigned 
> short>::handle(int)" (?handle@?$SliceView at G@itk@@UAEHH at Z)
> 
> Any ideas ?
> Thanks
> Delphine
> 
> This is the CMakelists :
> #############################################
> # PROJECT: RadioactivImagesTool             #
> #############################################
> PROJECT(RadioactivImagesTool)
> 
> #####################################
> # FIND PACKAGES IF BUILDING OUTSIDE #
> #####################################
> 
> INCLUDE (${CMAKE_ROOT}/Modules/FindITK.cmake)
> IF(USE_ITK_FILE)
>   INCLUDE(${USE_ITK_FILE})
> ENDIF(USE_ITK_FILE)
> 
> INCLUDE (${CMAKE_ROOT}/Modules/FindOpenGL.cmake)
> INCLUDE (${CMAKE_ROOT}/Modules/FindGLU.cmake)
> 
> FIND_PACKAGE(FLTK)
>   IF(FLTK_FOUND)
>     INCLUDE_DIRECTORIES(${FLTK_INCLUDE_DIR})
> ENDIF(FLTK_FOUND)
> 
> 
> INCLUDE (${RadioactivImagesTool_SOURCE_DIR}/FindInsightApplications.cmake)
> 
> INCLUDE (${CMAKE_ROOT}/Modules/FindFLTK.cmake)
>   IF(HAS_FLTK)
> 
> 
> #############################################
> # SOURCE FILE SPECIFICATION                 #
> #############################################
> 
> 
> SET(LOGIC_CXX
>          main.cxx
>           RadioactivImagesToolActionMainWindowGUI.cxx
>     RadioactivImagesToolActionRegistrationToolBoxGUI.cxx
>     RadioactivImagesToolActionMainMenuGUI.cxx
>     ActionBase.cxx    
> )
> 
> # The headers for the Logic code
> SET(LOGIC_HEADERS   
>           RadioactivImagesToolActionGUI.h
>     RadioactivimagesTool_GUI.h
>     ActionBase.h
> )
> 
> # The FL files for Tool
> SET(MAIN_GUI_SRCS
>     RadioactivImagesTool_GUI.fld
> )
> 
> #############################################
> # LIBRARIES AND EXTERNAL CODE               #
> #############################################
> 
>   # Include directories
>     INCLUDE_DIRECTORIES (
>       ${InsightApplications_SOURCE_DIR}/Auxiliary/FltkImageViewer
>       ${FLTK_INCLUDE_PATH}
>       ${OPENGL_INCLUDE_PATH}
>       ${FLTK_INCLUDE_DIR}/src
>     )
> 
>     LINK_DIRECTORIES(
>       ${InsightApplications_BINARY_DIR}/Auxiliary/FltkImageViewer
>       ${FLTK_DIR}/bin
>       ${FLTK_DIR}/lib
>     )
>  
> 
>     FLTK_WRAP_UI( RadioactivImagesTool ${MAIN_GUI_SRCS} )
> 
>     ADD_EXECUTABLE( RadioactivImagesTool  ${LOGIC_CXX} ${LOGIC_HEADERS} 
> ${RadioactivImagesTool_FLTK_UI_SRCS})
>  
>     TARGET_LINK_LIBRARIES( RadioactivImagesTool
>       ${ITK_LIBRARIES}
>       ${VTK_LIBRARIES}
>       ${OPENGL_LIBRARY}
>       ${FltkImageViewer}
>       ${FLTK_LIBRARY}
>     )
> 
> 
>   ENDIF(HAS_FLTK)
> ENDIF(USE_FLTK)
> 
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> Insight-users mailing list
> Insight-users at itk.org
> http://www.itk.org/mailman/listinfo/insight-users


More information about the Insight-users mailing list