我试图为一个没有mmap/munmap (任天堂与devkitPro工具链切换)的平台构建boost 1.71。生成失败,因为没有<sys/mman.h>文件。
如何配置boost以禁用内存映射的IO?我已经检查了boost/config/user.hpp,但似乎没有相关的选项。
发布于 2020-12-05 23:53:50
仅用于报头:
确保
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是而不是定义的interprocess/anonymous_shared_memory.hpp、interprocess/shared_memory_object.hpp、interprocess/mapped_region.hpp)
似乎有一种方法可以配置一些for BOost Interprocess,但我不知道是什么设置了defined(BOOST_INTERPROCESS_POSIX_SHARED_MEMORY_OBJECTS),而且看起来它并不能涵盖所有的使用供图书馆编纂
该列表将包括上述所有内容和任何临时依赖于它们的内容。
可能很多,但我还没追踪到他们。所以也许你对你所追求的图书馆很幸运
但是,可以调整以下直接依赖关系:
LACKS_SYS_MMAN_H,因此这里没有问题iostreams/src/mapped_file.cpp是一个问题,所以您不能构建物联网库(简单地排除它)。如果你需要剩下的,你可以按照他们的指南包括库实现的特定部分的特定源文件。https://stackoverflow.com/questions/65156671
复制相似问题