Ubuntu 16.04, gcc 4.9, CUDA 7.5.18, inclui cabeçalhos gcc5

3

Estou rodando em um Ubuntu 16.04 onde eu instalei drivers gcc4.9 e NVIDA de repositórios oficiais, configurei alternativas para o gcc e instalei o kit de ferramentas CUDA 7.5.18.

Quando tento compilar um código CUDA, recebo muitas mensagens como esta

/usr/lib/gcc/x86_64-linux-gnu/5/include/avx2intrin.h(247): error: ...

Como posso forçar o sistema a usar os cabeçalhos gcc-4.9 e não o gcc-5?

Eu uso cmake e make para compilar o código-fonte.

Obrigado

    
por user3498274 15.06.2016 / 22:41

1 resposta

1

Você desejará adicionar um sinalizador -I dir aos seus sinalizadores CXX no arquivo make e provavelmente no arquivo cmake. O dir seria o caminho para os cabeçalhos que você deseja usar. Se apenas incluir os diretórios apropriados não funcionar, então seria melhor também desabilitar os caminhos de inclusão padrão com --nostdinc , mas isso não deveria ser necessário, uma vez que ele procura primeiro pelos diretórios de inclusão. Para adicionar esses sinalizadores aos arquivos cmake, você precisa especificar algo ao longo das linhas de

set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -I/usr/local/include -L/usr/local/lib")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -I/usr/local/include")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -L/usr/local/lib")

de uma resposta sobre a configuração das sinalizações do cmake . (O sinalizador -L é para especificar bibliotecas que são procuradas apenas no estilo "" e não no estilo < >)

    
por Josh Kergan 15.06.2016 / 23:19