Использовать ';' как разделитель. Если переменные среды установлены правильно, вы должны увидеть свои настройки. Если ваши PATH и CLASSPATH верны, окна должны распознавать эти команды. Вам не нужно перезагружать компьютер при установке Java.
1) Да, вы можете, конечно, смешивать и сопоставлять, какие C ++-исполнения используют ваш код на C ++, если эти отдельные модули фактически не передают объекты друг другу. Например, если у вас есть два модуля в вашем приложении, которые просто выставляют C API, но внутренне используют C ++, каждый из них может использовать любую требуемую среду C ++. Проблемы возникают при попытке обмениваться объектами между runtimes.
2) При компиляции и связывании вы можете использовать аргумент командной строки '--stdlib = libstdc ++' или '--stdlib = libc ++', чтобы указать, какой C ++ библиотеки для использования. Если ваш конечный исполняемый файл должен ссылаться на оба, вам нужно вручную указать другой (например: --stdlib = libc ++ -lstdc ++).
3) Да, но обратите внимание, что libstdc ++ был устаревшим годом назад и даже не доступен на watchOS или tvOS, так что лучше всего всего переложить все на libc ++.
Пока вы не смешиваете объекты (например, передавая строку из одной библиотеки в функцию, которая ожидает другой тип строки), вы можете сделать это, включив обе библиотеки при создании приложения верхнего уровня.
В моем случае он работал, установив стандартный C ++ lib в версию GNU, а затем добавив libc ++, как и в любую другую системную библиотеку.