Are you building static VXL libraries, and then trying to link what you =
need to make a single shared library for Matlab's loadlibrary call? =
This following CMakeLists.txt files shows how we have done this. I know =
this works for Windows. I think it works for Linux.
IF( CMAKE_SYSTEM_NAME MATCHES SunOS )
SET( TYPE "" )
ELSE( CMAKE_SYSTEM_NAME MATCHES SunOS )
SET( TYPE "SHARED" )
ENDIF( CMAKE_SYSTEM_NAME MATCHES SunOS )
INCLUDE_DIRECTORIES( ${VXL_GEL_INCLUDE_DIR} )
INCLUDE_DIRECTORIES( ${VXL_RPL_INCLUDE_DIR} )
SET( foobar_source_files
foobar_impl.txx foobar_impl.h
foobar.cxx foobar.h
)
AUX_SOURCE_DIRECTORY( Templates foobar_source_files )
ADD_LIBRARY( foobar ${TYPE} ${foobar_source_files} )
TARGET_LINK_LIBRARIES( foobar vil vil_algo vnl img vul )
If you are building shared VXL libraries in unix, then you'd have to get =
Matlab's loadlibrary call to know to load all of the additional VXL =
libraries it would need. This is probably a matter of the =
LD_LIBRARY_PATH.
Fred Wheeler
> -----Original Message-----
> From: vxl-users-bounces@...
> [mailto:vxl-users-bounces@...]On Behalf Of Jose
> Alexandre de Franca
> Sent: Monday, June 05, 2006 7:04 AM
> To: p.vanroose@...; vxl-users@...
> Subject: Re: [Vxl-users] VXL and Matlab
>=20
>=20
>=20
> Thanks, Peter! But... I am linking my code with all those=20
> libraries: -lvnl=20
> -lmvl -lnetlib -lvbl -lvgl -lvcl -lvil1 -lvil -lvnl_algo=20
> -lvul -lvgl_algo.=20
> Even so, it is missing a symbol that is inside of vgl or=20
> vgl_algo. This is=20
> leaving me crazy! :-(
>=20
> Jose Franca
>=20
>=20
>=20
> > >=20
> _ZmlIdE17vgl_homg_point_2dIT_ERK16vnl_matrix_fixedIS1_Lj3ELj3EERKS2_
> > > ..
> > > I am linking "libvgl.a" and "libvgl_algo.a" with my code.
> >
> >The library vgl_algo depends on vnl_algo, which in turn=20
> depends on vnl
> >and netlib. So you will have to add some more libraries before all
> >"symbols" are resolved.
> >
> >Use the c++filt command to find out about the "unmangled" form of the
> >missing symbols; for example, the above mentioned missing=20
> symbol is the
> >function
> >operator*(vnl_matrix_fixed<double,3,3>const&,vgl_homg_point_2
> d<double>const&)
> >
> >This function is implemented in=20
> vgl/algo/vgl_homg_operators_2d.txx and
> >instantiated by compiling the source file
> >vgl/algo/Templates/vgl_homg_operators_2d+double-.cxx so=20
> don't forget to
> >add that file to your vgl_algo build!
> >
> >-- Peter.
> >
> >
> >_______________________________________________
> >Vxl-users mailing list
> >Vxl-users@...
> >https://lists.sourceforge.net/lists/listinfo/vxl-users
>=20
>=20
>=20
>=20
> _______________________________________________
> Vxl-users mailing list
> Vxl-users@...
> https://lists.sourceforge.net/lists/listinfo/vxl-users
>=20
|