私はしばらく時間がかかりましたが、結局解決策が見つかりました。 私はgraphvizディレクトリ内に置く以下の内容のスクリプトを作成しました。
INSTALLER_ROOT="/Users/wizardofkneup"
GVROOT="${INSTALLER_ROOT}/graphviz"
GVTARGET="${INSTALLER_ROOT}/Documents/xcode/VisualThinkingWorkspace/graphviz"
PLATFORM_DEVELOPER_BIN_DIR="/usr/bin"
./configure \
--disable-dependency-tracking \
--enable-shared=no \
--enable-static=yes \
--enable-ltdl=no \
--enable-swig=no \
--enable-tcl=no \
-srcdir=/Users/wizardofkneup/graphviz \
--with-codegens=no \
--with-cgraph=yes \
--with-expat=no \
--with-fontconfig=no \
--with-freetype2=no \
--with-ipsepcola=yes \
--with-libgd=no \
--with-xdot=yes \
--with-quartz=yes \
--with-visio=yes \
--with-x=no \
CC="${PLATFORM_DEVELOPER_BIN_DIR}/clang" \
CPP="${PLATFORM_DEVELOPER_BIN_DIR}/clang -E" \
CXX="${PLATFORM_DEVELOPER_BIN_DIR}/clang++" \
OBJC="${PLATFORM_DEVELOPER_BIN_DIR}/clang" \
LD="${PLATFORM_DEVELOPER_BIN_DIR}/ld"
make
rm -rf ${GVTARGET}
mkdir -p ${GVTARGET}
find . -type f -name '*_C.a' -exec cp -i {} ${GVTARGET} \;
find . -type f -name '*.h' -exec cp {} -i ${GVTARGET} \;
いくつかのさらなるコメント:
- 使用自作はgraphvizのためのソースを取得します。
brew install --build-from-source graphviz
- コピー&
~/Library/Caches/Homebrew
からGRVIZディレクトリにダウンロードしたソースを解凍します。 (私の場合/ Users/wizardofkneup/graphviz)
- devディレクトリを指す環境変数GRVIZを定義します。 設定し、ヘッダのパスと$ {GRVIZ} /への迅速なインポートパスが**
- (プラグインのために必要な)リンクC++標準ライブラリを持つために、あなたが(ウォルターのアイデア以下:Compile errors with C++ static library include in Swift project)空.mmファイルを持っている必要があり
- すべての_C.aファイルを含める - >私たちはCインタフェースにしたい。
- 名前のマングリングの問題を回避するには、Builtins.cをcファイルにする必要があります。ファイルインスペクタでこれを設定してください
- まだ知られていない理由で、GRVIZとGVTARGET の両方のディレクトリが必要です。
- ロードライブラリ: Unable to use dot layout (graphviz as a library)
マイbuiltins.cファイル:
#include "builtins.h"
extern gvplugin_library_t gvplugin_dot_layout_LTX_library;
extern gvplugin_library_t gvplugin_neato_layout_LTX_library;
extern gvplugin_library_t gvplugin_core_LTX_library;
extern gvplugin_library_t gvplugin_quartz_LTX_library;
extern gvplugin_library_t gvplugin_visio_LTX_library;
void loadGraphvizLibraries(GVC_t *gvc) {
gvAddLibrary(gvc, &gvplugin_dot_layout_LTX_library);
gvAddLibrary(gvc, &gvplugin_neato_layout_LTX_library);
gvAddLibrary(gvc, &gvplugin_core_LTX_library);
gvAddLibrary(gvc, &gvplugin_quartz_LTX_library);
gvAddLibrary(gvc, &gvplugin_visio_LTX_library);
}
マイ組み込みコマンド。Hファイル:Xcodeで
#ifndef builtins_h
#define builtins_h
#include "/Users/klauskneupner/graphviz/lib/gvc/gvplugin.h" //
#include "gvc.h"
extern lt_symlist_t lt_preloaded_symbols[];
void loadGraphvizLibraries(GVC_t *gvc);
#endif /* builtins_h */
アプリのブリッジング-がheader.h
#include <gvc.h>
#import "builtins.h"
と設定。
私はこの1つに後で必要:それはgraphvizの関連であったかどうかわかりません。
これが役立つことを願っています。がんばろう。私が何かを見逃したら私に知らせてください。