1

我正在尝试为没有mmap/的平台构建 boost 1.71 munmap(带有 devkitPro 工具链的 Nintendo Switch)。构建失败,因为没有<sys/mman.h>文件。

如何配置 boost 以禁用内存映射 IO?我已经检查过boost/config/user.hpp,但那里似乎没有相关的选项。

4

1 回答 1

1

仅用于标题:

确保

  • BOOST_CONTEXT_USE_MAP_STACK未定义_ _

  • 避免包括context/posix/protected_fixedsize_stack.hpp. (头后卫BOOST_CONTEXT_PROTECTED_FIXEDSIZE_H

  • 避免包括coroutine/posix/protected_stack_allocator.hpp. (头后卫BOOST_COROUTINES_PROTECTED_STACK_ALLOCATOR_H

  • BOOST_SPIRIT_FILEITERATOR_POSIX如果您使用 Spirit Classic,则未定义

  • 不要使用 Boost Interprocess 共享内存/映射文件。interprocess/anonymous_shared_memory.hpp, interprocess/shared_memory_object.hpp, interprocess/mapped_region.hpp)

    似乎有一种方法可以(取消)配置一些 for BOost Interprocess,但我不知道是什么设置defined(BOOST_INTERPROCESS_POSIX_SHARED_MEMORY_OBJECTS),而且看起来它并没有涵盖所有用途

用于库编译

该列表将包括上述所有内容以及任何依赖于它们的内容。

这可能很多,但我没有追踪它们。所以也许你对你所追求的图书馆很幸运

但是可以调整以下直接依赖项:

于 2020-12-05T23:53:50.797 回答