> 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