Итак, у меня установлен 32-битный Xubuntu 14.04.1. У нас есть некоторый интерфейсный код, в котором мы намереваемся выпустить SO для различных платформ, которые мы поддерживаем, и библиотеки Windows DLL. (Да, я знаю, бинарный релиз плох, но здесь тоже не актуален.)
Я пытаюсь создать 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-разрядных.
Погуглив проблему, похоже, это случалось в прошлом для GCC / G ++ 4.6, но затем помечалось как исправленное. Но 14.04.1 использует GCC / G ++ 4.8, что говорит о регрессии в этих библиотеках в GCC / G ++ 4.8. Это то, что кто-то еще видел?
Я мог бы при необходимости установить новую виртуальную машину для 64-битной 14.04.1 и посмотреть, подберут ли она правильные версии библиотеки. Я предпочел бы, если это возможно, потому что у меня есть куча других вещей, которые мне также придется переустанавливать. Есть ли лучшее решение? И если бы я установил 64-битную версию 14.04.1, смогу ли я кросс-компилировать обратно в 32-битную версию без пропущенных заголовков в другом направлении?
g++-multilib
пакет?