Итак, у меня установлен 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-битного без пропущенных заголовков в другом направлении?