Я пытаюсь создать файл mex из октавы, но я борюсь с пробелами, содержащимися в пути. Я пробовал следующую команду:Создайте файл mex из Octave CLI
mex 'tsne_p.o' 'nvmatrix.o' 'nvmatrix_kernel.o' -L"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\lib\x64" -lcuda -lcudart -lcufft -lcublas -I. -Wl,-rpath,"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\lib\x64"
К сожалению, путь разделен на несколько частей. Вот лог:
g++: error: Files/NVIDIA: No such file or directory
g++: error: GPU: No such file or directory
g++: error: Computing: No such file or directory
g++: error: Toolkit/CUDA/v8.0/lib/x64: No such file or directory
g++: error: unrecognized command line option '-Wl'
warning: mkoctfile exited with failure status
warning: called from
mkoctfile at line 171 column 5
mex at line 29 column 18
error: 'rpath' undefined near line 1 column 169
Я попытался заменить "на", но это ничего не изменило
В конце концов я пытался позвонить непосредственно Исполняемому вызывается mex.m (с помощью команды окна. линия). Я попытался с одинарной кавычки, двойные кавычки и т.д. ... но все еще получаю те же ошибки.
"C:\Octave\Octave-4.0.0\bin\mkoctfile-4.0.0.exe" "--mex" "tsne_p.o" "nvmatrix.o" "nvmatrix_kernel.o" -L"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\lib\x64" -lcuda -lcudart -lcufft -lcublas -I. -Wl,-rpath,"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\lib\x64"
g++: error: Files\NVIDIA: No such file or directory
g++: error: GPU: No such file or directory
g++: error: Computing: No such file or directory
g++: error: Toolkit\CUDA\v8.0\lib\x64: No such file or directory
g++: error: Files\NVIDIA: No such file or directory
g++: error: GPU: No such file or directory
g++: error: Computing: No such file or directory
g++: error: Toolkit\CUDA\v8.0\lib\x64: No such file or directory
Я не знаю, как это работает в октаве, но в MATLAB вы можете установить пути по умолчанию для CUDA (и другие вещи) в файле 'xml'. Это может решить вашу проблему. Кроме того, вы пробовали сингл '' 'вместо double' ''? –
Попробуйте: '' -LC: \ Program Files \ NVIDIA GPU Computing Toolkit \ CUDA \ v8.0 \ lib \ x64'', взятый из [Matlab Mex Справка] (https://se.mathworks.com/help/matlab/ref/mex.html) –
Да, я попробовал '-LC: \ Program Files \ NVIDIA GPU Computing Toolkit \ CUDA \ v8.0 \ lib \ x64 'и single' вместо double ', но он все равно не передает путь правильно. Я буду исследовать, используя ответ каравандруга. –