인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

드립커피+한모금더님의 프로필 이미지
드립커피+한모금더

작성한 질문수

CUDA 프로그래밍 (2) - C/C++/GPU 병렬 컴퓨팅 - 벡터 vector 더하기

컴파일 시의 <typeinfo> 관련 에러

해결된 질문

작성

·

482

0

  • 이 강의가 아니라, 다른 강의에서 나온 질문인데, 정보 공유 차원에서 올립니다.

 

실습 코드를 클라우드 환경에서 돌리고 있고, gcc version 7.5 를 쓰고 있습니다.

컴파일 시에 다음 에러가 발생합니다.

$ make
nvcc -gencode=arch=compute_37,code=\"sm_37,compute_37\" -arch=sm_37 -O2 -o 12c.exe 12c.cu
./common.cpp(115): error: <typeinfo> must be included before typeid is used





답변 1

0

  • 이 강의가 아니라, 다른 강의에서 나온 질문인데, 정보 공유 차원에서 올립니다.

 

문의하신 내용은 GCC version 이 낮은 경우에 발생하는 것 같습니다.

typeid 연산자가 C++11 표준이지만, 예전 컴파일러 들은 별도 header file 을 필요로 하는 경우도 있습니다.

 

common.cpp 앞부분에, #include <typeinfo> 를 추가해 보시면 될 것 같습니다.

아래와 같이 하면 됩니다.

 

// common.cpp

 

#include <stdio.h>

#include <math.h>

#include <assert.h>

#include <string.h>

#define USEMATH_DEFINES // to use M_PI

#include <math.h>

#if defined(__CUDACC__)

#include <cuda.h>

#include <cuda_runtime_api.h>

#include <cuda_runtime.h>

#endif

 

#include <typeinfo> // 추가

 

#include <iostream>

#include <iomanip>

#include <chrono>

using namespace std;

 

(이하 생략)

 

드립커피+한모금더님의 프로필 이미지
드립커피+한모금더

작성한 질문수

질문하기