CodeSourcery выдает ошибку компиляции:недостающие биты/c++config.h
-
18-09-2020 - |
Вопрос
в своем проекте я использую библиотеку Eigen C++ для линейной алгебры. ТОЛЬКО когда я включаю флаги векторизации (-mfpu=neon -mfloat-abi=softfp) для ARM NEON, я получаю ошибку компилятора - c++config.h нет такого файла или каталога.
Я не могу понять, что происходит, что это за бит/c++config.h?Что мне следует сделать, чтобы решить эту проблему?
Викрам
main.c
#include<iostream>
#include <Eigen/Core>
// import most common Eigen types
using namespace Eigen;
int main(int, char *[])
{
Matrix4f m3;
m3 << 1, 2, 3, 0, 4, 5, 6, 0, 7, 8, 9, 0, 0, 0, 0, 0;
Matrix4f m4;
asm("#begins here");
m4 = m3*m3;
asm("#ends here");
std::cout << "m3\n" << m3 << "\nm4:\n" << m4 << std::endl;
std::cout << "DONE!!";
}
make-файл
CPP= /home/ubuntu/CodeSourcery/Sourcery_G++/bin/arm-none-linux-gnueabi-c++
all: main
main: main.cpp
$(CPP) -mfpu=neon -mfloat-abi=softfp -I /home/ubuntu/Documents/eigen/ main.cpp -o main
clean:
rm -rf *o main
Ошибки
**** Build of configuration Debug for project Test_Eigen ****
make all
/home/ubuntu/CodeSourcery/Sourcery_G++/bin/arm-none-linux-gnueabi-c++ -mfpu=neon -mfloat-abi=softfp -I /home/ubuntu/Documents/eigen/ main.cpp -o main
In file included from main.cpp:1:
/home/ubuntu/CodeSourcery/Sourcery_G++/bin/../lib/gcc/arm-none-linux-gnueabi/4.4.1/../../../../arm-none-linux-gnueabi/include/c++/4.4.1/iostream:39: fatal error: bits/c++config.h: No such file or directory
compilation terminated.
make: *** [main] Error 1
Решение 2
Я получил ответ от команды Codesourcery.Эта проблема была вызвана, потому что я не установил все дополнители.Установка дополнений является очень простым шагом, если вы работаете в Eclipse Eclipse Codesourcery, вы должны просто перейти на помощь> Установить новое программное обеспечение, и после этого его довольно продвигается вперед (для получения дополнительной информации о 3-м главеначал руководство).
Как только добавки были установлены, я перестал получить фатальную ошибку: Bits / C ++ Config.h: Нет такого файла или компиляции каталога заканчивается.(Подробнее о вариантах компилятора от 3-й главы)
Другие советы
Я получал ту же ошибку:
/usr/lib/gcc/x86_64-redhat-linux/4.6.3/../../../../include/c++/4.6.3/iostream:39: error: bits/c++config.h: No such file or directory
Решается после установки libstdc++-devel.x86_64 0:4.6.3-2.fc15
в федоре 15.