如何强制Nsight Eclipse使用旧版本的gcc / g ++?

时间:2016-10-09 14:38:15

标签: gcc makefile cuda eclipse-cdt nsight

我正在尝试将现有的C / C ++ CUDA项目迁移到Nsight Eclipse中。我正在使用手动编写的makefile来构建项目,但是我收到以下错误:

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

当我在Nsight之外只使用一个makefile时,我之前遇到过这个错误,但是我通过在/usr/local/cuda-7.5/bin中创建符号链接到gcc-4.9和g ++ - 4.9来修复它。这对Nsight不起作用。

这是我的makefile(注意:我在Nsight中设置了CUDA_HOME环境变量):

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 $@

.PHONY: all checkdirs clean

all: checkdirs build/lem

build/lem: $(OBJ)
    $(NVCC) $^ -o $@ -lgdal


checkdirs: $(BUILD_DIR)

$(BUILD_DIR):
    @mkdir -p $@

clean:
    @rm -rf build

有没有办法可以强迫Nsight使用gcc-4.9和g ++ - 4.9?

1 个答案:

答案 0 :(得分:1)

我假设您根据问题文本将其导入为makefile项目。

在这种情况下,一个选项是将makefile中的第一行更改为:

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

您可以在nvcc documentation

中详细了解此选项

这会对此项目/ makefile产生此更改,而不是对所有项目或所有eclipse / nsight