nvcc fatal: требуется один входной файл для фазы без связи, если указан выходной файл
У меня проблема с Nsight Eclipse. Я только что установил свой Cuda Toolkit 5.0 У меня есть проект, который использует несколько файлов C и один файл Cuda.
Я читал, что иногда проблема возникает, когда вы используете файлы C вместе с файлами Cuda в Nsight, поэтому я изменил все файлы на расширения.cu и.cuh в моем проекте. Также сказано, что иногда проблема возникает из-за пути к файлам с черными пробелами, что я убедился, что это не тот случай.
Ошибка возникает при попытке компиляции первого файла Calcular.cu
Это вывод компиляции
make all
Building file: ../Calcular.cu
Invoking: NVCC Compiler
nvcc -I/usr/include/ImageMagick -G -g -O0 -gencode arch=compute_11,code=sm_11 -gencode arch=compute_12,code=sm_12 -gencode arch=compute_13,code=sm_13 -gencode arch=compute_20,code=sm_20 -gencode arch=compute_20,code=sm_21 -gencode arch=compute_30,code=sm_30 -gencode arch=compute_35,code=sm_35 -odir "" -M -o "Calcular.d" "../Calcular.cu"
nvcc –Xcompiler –fopenmp --compile -G -I/usr/include/ImageMagick -O0 -g -gencode arch=compute_11,code=compute_11 -gencode arch=compute_11,code=sm_11 -gencode arch=compute_12,code=compute_12 -gencode arch=compute_12,code=sm_12 -gencode arch=compute_13,code=compute_13 -gencode arch=compute_13,code=sm_13 -gencode arch=compute_20,code=compute_20 -gencode arch=compute_20,code=sm_20 -gencode arch=compute_20,code=sm_21 -gencode arch=compute_30,code=compute_30 -gencode arch=compute_30,code=sm_30 -gencode arch=compute_35,code=compute_35 -gencode arch=compute_35,code=sm_35 -x cu -o "Calcular.o" "../Calcular.cu"
nvcc fatal : A single input file is required for a non-link phase when an outputfile is specified
make: *** [Calcular.o] Error 255
Это мои варианты компиляции
–Xcompiler –fopenmp -I/usr/include/ImageMagick -G -g -O0
Компиляция не дает никаких других ошибок в файлах. Файлы, необходимые для компиляции: Calcular.cu, Calcular.cuh, Preprocesamiento.cu, Preprocesamiento.cuh, Principal.cu, Principal.cuh.
Кто-нибудь знает, как это исправить? Спасибо
1 ответ
Черточки у вас здесь:
–Xcompiler –fopenmp
Не правильный вид тире. Если вы внимательно посмотрите на свои вопросы, вы увидите, что они немного отличаются от правильного, предшествующего этому:
-I/usr/include/ImageMagick
например.
Вам нужно заменить эти тире тем же типом тире, который используется перед переключателем включения. Если вы вручную ввели эти параметры компилятора, вам нужно исправить эти символы.
Это тире:
–
не является правильным.
Используйте эту черту:
-
вместо.