that finally solve my problem! i needed to put extern "C" {} around my
include (not something i knew about). thanks to all who helped!

Liam

On Sun, May 8, 2011 at 5:59 PM, Liam Kurmos <quantum.l...@gmail.com> wrote:
>> I made a separate exe to test this and it linked with
>> TARGET_LINK_LIBRARIES so this problem is not a cmake one. Something
>> must me different in the too code contexts... if checked the obvious
>> includes etc but atleast i know this is not cmake that is not linking.
>>
>
> actually i withdraw this. an undefined reference can only mean it's
> isnt linking properly... So now my questions is why would one
> executable link fine and not another?
>
> i have:
>
> ADD_EXECUTABLE(main main.cpp Data.cpp Mesh.cpp)
>
> FIND_LIBRARY(TOURTRE_LIBRARY tourtre .)
> TARGET_LINK_LIBRARIES(main ${TOURTRE_LIBRARY})
>
> but essentially the same code in a difference exec gives an undefined
> reference?
>
> ADD_EXECUTABLE(testOVAS testOVAS.cpp Analyser4D.cpp
> abstractFeature.cpp  Feature.cpp ImplicitVolume4D.cpp
> Analyser3D.cpp GeoPoint.cpp StepToParamConverter.cpp ...etc.. Data.cpp 
> Mesh.cpp
> )
> TARGET_LINK_LIBRARIES(testOVAS vtkWidgets vtkRendering vtkHybrid vnl
> ${TOURTRE_LIBRARY})
>
> the only difference in the code is the bit that uses the library:
>
> ctContext * ctx = ct_init(
>                data.totalSize, //numVertices
>                &(totalOrder.front()), //totalOrder. Take the address of the 
> front
> of an stl vector, which is the same as a C array
>                &value,
>                &neighbors,
>                &mesh //data for callbacks. The global functions less, value 
> and
> neighbors are just wrappers which call mesh->getNeighbors, etc
>        );
>
> in one case this is just in the main function of main.cpp whereas in
> the other exec if is inside a class function.
>
> from header:
> ctContext * ct_init(
>    size_t  numVertices,
>    size_t  *totalOrder,
>    double  (*value)( size_t v, void* ),
>    size_t  (*neighbors)( size_t v, size_t* nbrs, void* ),
>    void*  data
> );
>
>
> The 2 callbacks are just local functions in both cases.
>
> is there something wrong with the coding approach? I thought this
> could be a code error but then i thought i should get some incorrect
> type compile error in that case...
>
>
> Liam
>
_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake

Reply via email to