Стандартные заголовки не найдены при переключении на clang 3.4 и libС++

77
5

Я получаю следующую ошибку в CircleCI после установки clang 3.4 и перехода на libc++. , ,

gtest/googletest/include/gtest/gtest.h:54:10: fatal error: 
'limits' file not found
#include <limits>

Нарушающий заголовочный файл находится по адресу /usr/lib/llvm-3.4/lib/clang/3.4/include/, но я не могу предотвратить эту ошибку даже при использовании CMake INCLUDE_DIRECTORIES(SYSTEM path_above) или установки флага isystem компилятора.

Любая идея, что не так?

спросил(а) 2021-01-19T16:37:51+03:00 6 месяцев, 2 недели назад
1
Решение
89

Я помню, как однажды столкнулся с проблемой. Это произошло для меня, потому что я, потому что строил clang из источника и имел несколько экземпляров двоичного кода. Если память работает, я решил ее, установив C_INCLUDE_PATH и CPLUS_INCLUDE_PATH в файле ~/.bashrc.

Вы можете сделать это, добавив следующие строки в ваш файл ~/.bashrc следующим образом:

export C_INCLUDE_PATH=/usr/lib/llvm-3.4/lib/clang/3.4/include/
export CPLUS_INCLUDE_PATH=/usr/lib/llvm-3.4/lib/clang/3.4/include/

Как только вы это сделаете, вы можете либо открыть новый терминал, либо запустить source ~/.bashrc (чтобы он читал обновленный файл ~/.bashrc)

ответил(а) 2021-01-19T16:37:51+03:00 6 месяцев, 2 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема