Ich versuche, Graphviz als eine Bibliothek von CLion in Windows zu starten. Ich habe eine ganze Weile gebraucht, um so weit zu kommen, und ich hoffe, das ist die letzte Hürde. Wenn ich das Programm laufen sehe ich die folgende Warnung und kein DiagrammGraphviz - Konnte nicht laden gvplugin_pango.dll
Warning: Could not load "C:\Program Files (x86)\Graphviz2.38\bin\gvplugin_pango.dll" - can't open the module
Ich CLION mit MinGW 3.22 als Werkzeugkette läuft. CmakeLists und main.c sind unten. Leider kann ich mich nicht für graphviz-Foren anmelden, daher hoffe ich, dass jemand hier Vorschläge hat. Bisher habe ich versucht -
- Installation und Verwendung mingw-64
- Installation eine ältere Version von GraphViz (2,28, Strom 2,38)
- Einschließlich der gvplugin_pango Bibliothek in CMakeLists.txt
- ändern Berechtigungen für Graphviz Ordner vollen Zugriff auf Jeder, getestet Punkt -c zu ermöglichen und arbeitet die GVBINDIR env Variable setzen
- fein auf die 2,38-Installation weisen ausdrücklich darauf auf
- Versuchte Einstellung m32 in CMakeLists.txt (nicht zu 100% Ich tat dies richtig)
CMakeLists.txt
cmake_minimum_required(VERSION 3.6)
project(Learning)
set(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS}")
set(GRAPHVIZ_INCLUDE_DIR "C:/Program Files (x86)/Graphviz2.38/include/graphviz")
set(GRAPHVIZ_LIB_DIR "C:/Program Files (x86)/Graphviz2.38/lib/release/lib")
set(SOURCE_FILES main.c)
include_directories("${GRAPHVIZ_INCLUDE_DIR}")
add_executable(Learning ${SOURCE_FILES})
find_library(CGRAPH_LIBRARY cgraph HINTS "${GRAPHVIZ_LIB_DIR}" REQUIRED)
find_library(GVC_LIBRARY gvc HINTS "${GRAPHVIZ_LIB_DIR}" REQUIRED)
target_link_libraries(Learning ${CGRAPH_LIBRARY} ${GVC_LIBRARY})
Main.c
#include <stdio.h>
#include <malloc.h>
#include <string.h>
#include <gvc.h>
#include <cgraph.h>
int main() {
Agraph_t *graph;
Agnode_t *nodeA, *nodeB;
Agedge_t *edge1;
Agsym_t *symbol1;
GVC_t *gvc;
gvc = gvContext();
graph = agopen("graph", Agdirected, NULL);
nodeA = agnode(graph, "nodeA", 1);
nodeB = agnode(graph, "nodeB", 1);
edge1 = agedge(graph, nodeA, nodeB, 0, 1);
printf("debug");
agsafeset(nodeA, "color", "red", "");
gvLayout(gvc, graph, "dot");
gvRender(gvc, graph, "dot", NULL);
agclose(graph);
return (gvFreeContext(gvc));
}
Ich konnte keine Pango-Bibliothek im Mingw-Installationsmanager finden, wo sollte ich sonst hinschauen? – SMC