[ITK Community] [Insight-developers] Building Matlab Mex extensions that link to ITK?
Matt McCormick
matt.mccormick at kitware.com
Tue Nov 19 13:06:01 EST 2013
Hi Kent,
I wrote this [1][2] a long time ago, but I have not used it recently.
There is an ITK example.
Hope this helps,
Matt
[1] http://www.cmake.org/Wiki/CMake/MatlabMex
[2] http://github.com/thewtex/matlab-itk-import/tree/master
On Tue, Nov 19, 2013 at 12:59 PM, Williams, Norman K
<norman-k-williams at uiowa.edu> wrote:
> Has anyone else come up with an elegant solution for this?
>
> If I want to call ITK from a Matlab MEX extension written in C++, I run
> into problems with telling it the libraries with which to link.
>
> The ITK_LIBRARIES variable is a list of imported library targets which
> CMake converts to actual library paths when it links a library or
> executable.
>
> But to compile a MEX file, we're using a custom command along the lines of
>
> add_custom_command(OUTPUT ${MEX_PREFIX}.${MATLAB_MEX_EXT}
> COMMAND ${MATLAB_MEX_PATH} -cxx
> ${CMAKE_CXX_FLAGS_Release} ${MEX_SRC_PATH}
> ${ITK_INCLUDES} ${ITK_LIBRARIES}
> -I${Teem_INCLUDE_DIR} -L${Teem_LIBRARY_DIR} -lteem
> ${ZLIB_LIBRARY}
> DEPENDS ${MEX_SRC_PATH}
> IMPLICIT_DEPENDS C ${MEX_SRC_PATH}
> COMMENT "BUILDING MEX_FILE: ${MEX_SRC_PATH}" )
>
> But that doesn't work because CMake gives the target names in
> ITK_LIBRARIES instead of the actual libraries.
>
> I tried this:
>
> find_package(ITK NO_MODULE REQUIRED)
> include(${ITK_USE_FILE})
>
> set(ITK_LOCAL_LIBS)
> foreach(lib ${ITK_LIBRARIES})
> get_target_property(_lib ${lib} IMPORTED_LOCATION)
>
> list(APPEND ITK_LOCAL_LIBS ${_lib})endforeach()
>
> But all the IMPORTED_LOCATION for ITK libraries is _lib-NOTFOUND
>
>
>
> --
> Kent Williams norman-k-williams at uiowa.edu
>
>
>
>
>
>
> ________________________________
> Notice: This UI Health Care e-mail (including attachments) is covered by the Electronic Communications Privacy Act, 18 U.S.C. 2510-2521, is confidential and may be legally privileged. If you are not the intended recipient, you are hereby notified that any retention, dissemination, distribution, or copying of this communication is strictly prohibited. Please reply to the sender that you have received the message in error, then delete it. Thank you.
> ________________________________
> _______________________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
>
> Kitware offers ITK Training Courses, for more information visit:
> http://kitware.com/products/protraining.php
>
> Please keep messages on-topic and check the ITK FAQ at:
> http://www.itk.org/Wiki/ITK_FAQ
>
> Follow this link to subscribe/unsubscribe:
> http://www.itk.org/mailman/listinfo/insight-developers
> _______________________________________________
> Community mailing list
> Community at itk.org
> http://public.kitware.com/cgi-bin/mailman/listinfo/community
_______________________________________________
Powered by www.kitware.com
Visit other Kitware open-source projects at
http://www.kitware.com/opensource/opensource.html
Kitware offers ITK Training Courses, for more information visit:
http://kitware.com/products/protraining.php
Please keep messages on-topic and check the ITK FAQ at:
http://www.itk.org/Wiki/ITK_FAQ
Follow this link to subscribe/unsubscribe:
http://www.itk.org/mailman/listinfo/insight-developers
More information about the Community
mailing list