WindowsのCLionからgraphvizをライブラリとして実行しようとしています。これまでにはかなり時間がかかりましたが、これが最終的なハードルであることを願っています。私はプログラムを実行すると、私は私がツールチェーンとしてMinGWの3.22とCLionを実行している次の警告なしグラフGraphviz - gvplugin_pango.dllを読み込めませんでした
Warning: Could not load "C:\Program Files (x86)\Graphviz2.38\bin\gvplugin_pango.dll" - can't open the module
を参照してください。 CmakeListsとmain.cは以下の通りです。残念ながら、私はgraphvizフォーラムにサインアップできないので、ここに誰かがいくつか提案してくれることを願っています。これまでのところ、私が試してみた -
- は、インストールとGraphVizを、旧バージョンのインストールmingwの-64
- を使用してcmakelists.txt
- でgvplugin_pangoライブラリ変更など
- (2.28を、現在は2.38です)みんなへのフルアクセスを許可するGraphvizのフォルダのアクセス権、テストドット-cと
- 正常に動作しますがGVBINDIRのENV変数は明示的に
- はCmakelists.txtでM32(ない100%を設定しようとしました2.38のインストールを指すように設定してください私は
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})
CmakeLists.txt
)正しく
をこれをした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));
}
mingwのインストールマネージャでpangoライブラリを見つけることができませんでした。探しているはずの他の場所がありますか? – SMC