Hello,
Thank you very much. I just took the x-y coordinates of the tip of the arrow from the polygon points and added it at the end of the edge path points and then ignored the polygon points. It is working fine so far.
I could compile and link the source files successfully using the below commands I found in your build guide :
c++ -Ibuild_path/include -Isource_path/include -o main.o -c main.cpp
c++ -o output_binary -Lbuild_path main.o -lOGDF -lCOIN
Everything is perfectly fine up to this point.
But, in my case, I want the shared object file(.so) or dynamic library file(.dylib) and I am trying to get it using the below command :
c++ -shared -o main.so main.o
and also
c++ -dynamiclib -o main.dylib main.o
But, both are giving the error as,
Undefined symbols for architecture arm64:
"ogdf::OrthoLayout::OrthoLayout()", referenced from:
main in main-1941f8.o
"ogdf::BoyerMyrvold::planarEmbed(ogdf::Graph&, ogdf::SList<ogdf::KuratowskiWrapper>&, int, bool, bool, bool, bool)", referenced from:
ogdf::BoyerMyrvold::planarEmbed(ogdf::Graph&, ogdf::SList<ogdf::KuratowskiWrapper>&, ogdf::BoyerMyrvoldPlanar::EmbeddingGrade, bool, bool, bool, bool) in main-1941f8.o
"ogdf::Initialization::Initialization()", referenced from:
___cxx_global_var_init in main-1941f8.o
"ogdf::Initialization::~Initialization()", referenced from:
___cxx_global_var_init in main-1941f8.o
"ogdf::get_stacktrace(std::__1::basic_ostream<char, std::__1::char_traits<char> >&)", referenced from:
ogdf::EmbedderMaxFaceBiconnectedGraphs<int>::embed(ogdf::Graph&, ogdf::AdjElement*&, ogdf::NodeArray<int> const&, ogdf::EdgeArray<int> const&, ogdf::NodeElement* const&) in main-1941f8.o
ogdf::StaticSPQRTree::StaticSPQRTree(ogdf::Graph const&) in main-1941f8.o
ogdf::internal::GraphIteratorBase<ogdf::NodeElement*, false>::operator++() in main-1941f8.o
ogdf::internal::GraphIteratorBase<ogdf::AdjElement*, false>::operator++() in main-1941f8.o
ogdf::EmbedderMaxFaceBiconnectedGraphs<int>::expandEdge(ogdf::StaticSPQRTree const&, ogdf::NodeArray<bool>&, ogdf::NodeElement* const&, ogdf::NodeElement* const&, ogdf::NodeArray<int> const&, ogdf::NodeArray<ogdf::EdgeArray<int> > const&, ogdf::NodeArray<ogdf::List<ogdf::AdjElement*> >&, ogdf::NodeArray<ogdf::ListIteratorBase<ogdf::AdjElement*, false, false> >&, ogdf::NodeArray<ogdf::ListIteratorBase<ogdf::AdjElement*, false, false> >&, ogdf::AdjElement*&, ogdf::NodeElement* const&) in main-1941f8.o
void ogdf::Graph::sort<ogdf::List<ogdf::AdjElement*> >(ogdf::NodeElement*, ogdf::List<ogdf::AdjElement*> const&) in main-1941f8.o
ogdf::NodeArray<ogdf::List<ogdf::AdjElement*> >::operator[](ogdf::NodeElement*) in main-1941f8.o
...
"ogdf::GraphAttributes::all", referenced from:
main in main-1941f8.o
"ogdf::GraphAttributes::threeD", referenced from:
main in main-1941f8.o
"ogdf::GraphAttributes::GraphAttributes(ogdf::Graph const&, long)", referenced from:
main in main-1941f8.o
"typeinfo for ogdf::EmbedderMinDepthMaxFace", referenced from:
typeinfo for ogdf::embedder::LayersBlockEmbedder<ogdf::EmbedderMinDepthMaxFace, ogdf::embedder::MDMFLengthAttribute> in main-1941f8.o
"typeinfo for ogdf::ConstCombinatorialEmbedding", referenced from:
typeinfo for ogdf::CombinatorialEmbedding in main-1941f8.o
"vtable for ogdf::BoyerMyrvold", referenced from:
ogdf::BoyerMyrvold::BoyerMyrvold() in main-1941f8.o
ogdf::BoyerMyrvold::~BoyerMyrvold() in main-1941f8.o
NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
"vtable for ogdf::StaticSPQRTree", referenced from:
ogdf::StaticSPQRTree::StaticSPQRTree(ogdf::Graph const&) in main-1941f8.o
NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
"vtable for ogdf::GraphAttributes", referenced from:
NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
"vtable for ogdf::EmbedderMinDepthMaxFaceLayers", referenced from:
ogdf::EmbedderMinDepthMaxFaceLayers::EmbedderMinDepthMaxFaceLayers() in main-1941f8.o
NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
I have mentioned some of the errors, there are some more errors of exactly the same pattern.
Can you please help me fix this issue in order to obtain the .so or .dylib file? Or, is there any other way to obtain the .so or .dylib file?
Thank you..