2016-10-09 2 views
0

기존 C/C++ CUDA 프로젝트를 Nsight Eclipse로 마이그레이션하려고합니다. 그러나 내가 만들어 그것을 고정, 내가 Nsight의 외부 단지 메이크 파일을 사용하던 때 이전에이 오류가 발생한Nsight Eclipse에서 gcc/g ++의 이전 버전을 사용하도록하려면 어떻게합니까?

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

: 나는 그러나 나는 다음과 같은 오류가 발생하고, 프로젝트를 빌드하기 위해 수동으로 작성 makefile을 사용하고 있습니다 /usr/local/cuda-7.5/bin의 gcc-4.9 및 g ++ - 4.9에 대한 심볼릭 링크. 이것은 Nsight에게는 효과가 없습니다. 여기

내 메이크입니다 (참고 : 나는 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 [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을 사용하도록 강제 할 수있는 방법 및 g ++ - 4.9?

답변

1

질문 텍스트를 기반으로 메이크 파일 프로젝트로 가져온 것으로 가정합니다. 이 경우

은 하나의 옵션은 다음과 같이 뭔가에 메이크 파일의 첫 번째 행을 변경하는 것입니다 : 이것은이 영향을 미칠 것

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

당신은 nvcc documentation

이 옵션에 대한 자세한 내용을보실 수 있습니다 이 프로젝트/makefile만을위한 변경, 모든 프로젝트 또는 모든 Eclipse/nsight 변경이 없음

+0

감사합니다. 이로 인해 즉각적인 문제가 해결되었습니다. 지금 링커 오류가 발생하고 이유를 모르겠지만 다른 질문이라고 생각합니다 ... – JC2188

관련 문제