2016-10-09 3 views
0

Я пытаюсь перенести существующий проект CUDA C/C++ в Nsight Eclipse. Я использую вручную написанный Makefile для сборки проекта, однако я получаю следующее сообщение об ошибке:Как заставить Nsight Eclipse использовать более старую версию gcc/g ++?

#error -- unsupported GNU version! gcc versions later than 4.9 are not supported! 

Я ранее имел эту ошибку, когда я использовал только Makefile вне Nsight, однако я установил его, создавая символические ссылки на gcc-4.9 и g ++ - 4.9 в /usr/local/cuda-7.5/bin. Это не работает для Nsight.

Вот мой Makefile (Примечание: Я установить переменную окружения CUDA_HOME внутри Nsight):

NVCC   := nvcc 

MODULES  := FA_kernels FD_kernels MEM_kernels MOD_kernels . 
SRC_DIR  := $(MODULES) 
BUILD_DIR  := $(addprefix build/,$(MODULES)) 

SRC   := $(foreach sdir,$(SRC_DIR),$(wildcard $(sdir)/*.cu)) 
OBJ   := $(patsubst %.cu,build/%.o,$(SRC)) 
HEADERS  := headers $(CUDA_HOME)/include $(CUDA_HOME)/samples/common/inc 
INCLUDES  := $(addprefix -I,$(HEADERS)) 


build/%.o: %.cu 
    $(NVCC) $(INCLUDES) -c $< -o [email protected] 

.PHONY: all checkdirs clean 

all: checkdirs build/lem 

build/lem: $(OBJ) 
    $(NVCC) $^ -o [email protected] -lgdal 


checkdirs: $(BUILD_DIR) 

$(BUILD_DIR): 
    @mkdir -p [email protected] 

clean: 
    @rm -rf build 

Есть ли способ я могу заставить Nsight использовать GCC-4.9 и г ++ - 4,9?

ответ

1

Я предполагаю, что на основе вашего текста вопроса вы импортировали это как проект make-файла.

В этом случае один из вариантов было бы изменить первую строку в Makefile, чтобы что-то вроде этого:

NVCC   := nvcc -ccbin /path/to/gcc 

Вы можете прочитать больше об этой опции в nvcc documentation

Это произвело бы эффект это изменить только для этого проекта/makefile, а не для всех проектов или всего eclipse/nsight

+0

Спасибо, это устранило непосредственную проблему. Я получаю ошибки компоновщика сейчас, и я не понимаю почему, но я думаю, что это другой вопрос ... – JC2188

Смежные вопросы