Заголовок <bits/unique_ptr.h>
является внутренней деталью реализации стандартной библиотеки GCC. Это один из заголовков, который составляет реализацию <memory>
.
Похоже, ваш код пытается включить заголовок из стандартной библиотеки GCC, что прекрасно работает, если вы компилируете стандартную библиотеку GCC, но не при использовании другой стандартной библиотеки. И это должно быть очевидно. Вы не можете включить заголовок, который не существует в другой реализации.
Код пользователя не должен никогда пытаться включить <bits/unique_ptr.h>
напрямую, потому что он даже не существует в других реализациях стандартной библиотеки C ++. Правильный заголовок для включения: <memory>
. Код необходимо исправить, чтобы перестать пытаться включать внутренние подробности реализации конкретной реализации.
Есть даже комментарий, говорящий об этом в <bits/unique_ptr.h>
:
/** @file bits/unique_ptr.h
* This is an internal header file, included by other library headers.
* Do not attempt to use it directly. @headername{memory}
*/