시간이 좀 걸렸지 만 결국에는 해결책을 찾았습니다. 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}에 대한 신속한 수입 경로/** (월터의 생각 다음 : Compile errors with C++ static library include in Swift project)는 빈 .mm 파일이 필요합니다 C++ 연결 표준 라이브러리 (플러그인 필요)를 가지고하기 위해
- 모든 _C.a 파일 포함 -> 우리는 C 인터페이스를 원합니다.
- Buildins.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 파일 :
#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"
그리고 엑스 코드의 구성. 그 그림은 GraphVIZ 관련이 있는지 확실하지 :
나는이 하나 이상 필요합니다.
이 정보가 도움이되기를 바랍니다. 행운을 빕니다. 내가 뭔가를 놓친다면 알려줘.