Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/124.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 为什么可以';你能找到lnvrtc吗?_C++_Bash_Cuda_Nvidia_Macos High Sierra - Fatal编程技术网

C++ 为什么可以';你能找到lnvrtc吗?

C++ 为什么可以';你能找到lnvrtc吗?,c++,bash,cuda,nvidia,macos-high-sierra,C++,Bash,Cuda,Nvidia,Macos High Sierra,我正在努力让CUDA 9.2在high Sierra上运行。 我完成了安装程序的使用,并尝试构建示例。 当我运行“make”时,一些示例生成时没有问题,但当我尝试全部生成它们时,我得到以下错误: clang++ -rpath /Developer/NVIDIA/CUDA-9.2/lib -o clock_nvrtc clock.o -lnvrtc ld: library not found for -lnvrtc 如果我去: cd /Developer/NVIDIA/CUDA-9.2/li

我正在努力让CUDA 9.2在high Sierra上运行。 我完成了安装程序的使用,并尝试构建示例。 当我运行“make”时,一些示例生成时没有问题,但当我尝试全部生成它们时,我得到以下错误:

clang++  -rpath /Developer/NVIDIA/CUDA-9.2/lib -o clock_nvrtc clock.o  -lnvrtc
ld: library not found for -lnvrtc
如果我去:

cd /Developer/NVIDIA/CUDA-9.2/lib
我可以看到我有以下文件:

libnvrtc-builtins.9.2.dylib
libnvrtc-builtins.dylib
libnvrtc.9.2.dylib      
libnvrtc.dylib
所以我猜一定有某种环境变量/路径问题

我的bash_配置文件是:

export PATH=/Developer/NVIDIA/CUDA-9.2/bin${PATH:+:${PATH}}

export DYLD_LIBRARY_PATH=/Developer/NVIDIA/CUDA9.2/lib${DYLD_LIBRARY_PATH:+:${DYLD_LIBRARY_PATH}}
在新终端中运行printenv的输出为:

TERM_PROGRAM=Apple_Terminal
SHELL=/bin/bash
TERM=xterm-256color
TMPDIR=/var/folders/gw/70bmspxd74j7fkfbvms8x22m0000gn/T/
Apple_PubSub_Socket_Render=/private/tmp/com.apple.launchd.kptV0WXZcy/Render
TERM_PROGRAM_VERSION=404
TERM_SESSION_ID=47F46280-AEC0-4E23-8632-F6AA0422B14F
USER=kaizer
SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.bhLK0n0mY9/Listeners
PATH=/Developer/NVIDIA/CUDA-9.2/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
PWD=/Users/kaizer
XPC_FLAGS=0x0
XPC_SERVICE_NAME=0
SHLVL=1
HOME=/Users/kaizer
LOGNAME=kaizer
LC_CTYPE=UTF-8
_=/usr/bin/printenv
运行
echo“$DYLD\u LIBRARY\u PATH”
的输出:

我还安装了Xcode命令行工具,并且正在使用Xcode 9.2和High Sierra 10.13.6

我尝试按照这里的说明进行操作:


那么问题出在哪里?为什么clang看不到库?

新版本的OS X默认启用系统完整性保护。这意味着设置DYLD_LIBRARY_路径和LD_LIBRARY_路径将不会产生任何效果


请参阅:

@Talonmes简单的问题,但原因完全不同。见下面我的答案。
/Developer/NVIDIA/CUDA9.2/lib