14.04.01 32-разрядный: отсутствующие 64-разрядные файлы g ++ включают файлы при кросс-компиляции

Итак, у меня установлен 32-разрядный Xubuntu 14.04.1. У нас есть код интерфейса, в котором мы намерены выпускать SO для различных поддерживаемых нами платформ и DLL Windows. (Да, я знаю, двоичный выпуск плохой, но также не имеет значения здесь.)

Я пытаюсь построить 32-битные и 64-разрядные SO с 32-разрядным 14.04.01, используя -m32 / -m64 аргументы gcc / g ++. 32-разрядная версия работает нормально, но 64-разрядная версия не работает с

/usr/include/c++/4.8/string:38:28: fatal error: bits/c++config.h: No such file or directory

. Проверяя включение, этот файл действительно присутствует для 32-битного, но отсутствует для 64-битного. [!d2 ]

Попытка решить проблему, похоже, это произошло в прошлом для GCC / G ++ 4.6, но затем помечено как фиксированное. Но 14.04.1 использует GCC / G ++ 4.8, что говорит о наличии регрессии в этих библиотеках в GCC / G ++ 4.8.

Я мог бы настроить новую виртуальную машину для 64-разрядного 14.04.1, если это необходимо, и посмотреть, найдет ли она правильные версии библиотек. Я бы предпочел, если это возможно, потому что у меня есть куча других вещей, которые мне придется переустановить. Есть ли лучшее решение? И если бы я установил 64-битный 14.04.1, мог бы я перекрестно скомпилировать обратно до 32-битного без пропущенных заголовков в другом направлении?

1
задан 16 December 2015 в 00:12

0 ответов

Другие вопросы по тегам:

Похожие вопросы: