MacOS上TensorFlow C安装故障?:dyld错误;未加载库:@rpath/libtensorflow.1.dylib“;及;找不到符号:“uuuCG”DGifCloseFile“; 问题:

MacOS上TensorFlow C安装故障?:dyld错误;未加载库:@rpath/libtensorflow.1.dylib“;及;找不到符号:“uuuCG”DGifCloseFile“; 问题:,c,tensorflow,dyld,C,Tensorflow,Dyld,我应该如何在MacOS上安装TensorFlow C库或以其他方式解决错误: dyld:未加载库:@rpath/libtensorflow.1.dylib 引用自:/Users/Me//hello\u tf 原因:找不到图像 中止陷阱:6 及 dyld:找不到符号:_cg_DGifCloseFile 引用自:/System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO 应位于:/usr/local/lib/libGIF.dyli

我应该如何在MacOS上安装TensorFlow C库或以其他方式解决错误:

dyld:未加载库:@rpath/libtensorflow.1.dylib
引用自:/Users/Me//hello\u tf
原因:找不到图像
中止陷阱:6

dyld:找不到符号:_cg_DGifCloseFile
引用自:/System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO
应位于:/usr/local/lib/libGIF.dylib中
在/System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO中
中止陷阱:6
上下文 我使用“仅限MacOS CPU”库逐字跟踪for MacOS,直到
sudo ldconfig
位。这就是Mac,我用
update\u dyld\u shared\u cache
替换
ldconfig
并重新启动,然后构建了提供的示例程序

#包括
#包括
int main(){
printf(“你好,来自TensorFlow C库版本%s\n”,TF_version());
返回0;
}
我得到:

~$gcc hello\u tf.c-ltensorflow-o hello\u tf
~$/你好
dyld:未加载库:@rpath/libtensorflow.1.dylib
引用自:/Users/Me//hello\u tf
原因:找不到图像
中止陷阱:6
按照说明的建议,我使用
gcc-I/usr/local/include-L/usr/local/lib hello\u tf.c-ltensorflow-o hello\u tf
重建,得到了相同的结果

安装说明中说,为非系统目录中的安装设置
LIBRARY\u PATH
DYLD\u LIBRARY\u PATH
。我决定试一试:

export LIBRARY\u PATH=$LIBRARY\u PATH:/usr/local/lib
导出动态库路径=$DYLD\u库路径:/usr/local/lib
使用这两种方法编译(即不使用和使用
-I/usr/local/include-L/usr/local/lib
)现在给我:

dyld:找不到符号:_cg_DGifCloseFile
引用自:/System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO
应位于:/usr/local/lib/libGIF.dylib中
在/System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO中
中止陷阱:6
(好吧,至少这是一个不同的错误。)

My
/usr/local/lib
包含TensorFlow文件:

libtensorflow.1.14.0.dylib
libtensorflow.1.dylib
libtensorflow.dylib
libtensorflow_framework.1.14.0.dylib
libtensorflow_framework.1.dylib
libtensorflow_framework.dylib
libtensorflow.dylib
libtensorflow.1.dylib
是指向
libtensorflow.1.14.0.dylib
libtensorflow_框架.dylib
的链接,同样指向
libtensorflow.1.14.0.dylib
,如提供的
.tar.gz
存档中所示

预期结果 主要预期效果是发生以下情况:

~$gcc hello\u tf.c-ltensorflow-o hello\u tf
~$/你好
您好,来自TensorFlow C库1.14.0版
(这就是我正在使用的版本。)


第二个预期效果是理解出现上述错误的原因。

我通过使用自制软件进行安装,将
/usr/local/lib
添加到
LD\u LIBRARY\u PATH
,并使用
-ltensorflow
标记作为GCC参数的最后一个进行编译,从而修复了上述错误。戴尔德似乎相当挑剔;如果可能的话,我还是希望有一个更好的解释

~$brew安装libtensorflow
#省略自制输出
~$export-LD\u-LIBRARY\u-PATH=“${LD\u-LIBRARY\u-PATH}:/usr/local/lib”
~$gcc hello\u tf.c-o hello\u tf-ltensorflow
~$/你好
TensorFlow C库版本1.14.0
问题中提到的对
DYLD\u LIBRARY\u PATH
LIBRARY\u PATH
的修改也不起作用

~/.bash\u profile
或一些构建脚本中,将
/usr/local/lib
添加到
LD\u LIBRARY\u路径中可能是明智的