gpt4 book ai didi

c++ - 这个真实路径定义的跨平台替代方案?

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:08:52 24 4
gpt4 key购买 nike

所以,最近有人向我的项目提交了一些错误修复,他们还包括:

#ifdef _MSC_VER
#ifndef PATH_MAX
#define PATH_MAX _MAX_PATH
#endif
#define realpath(N,R) _fullpath((R),(N),_MAX_PATH)
#endif

问题是我在 MinGW 中使用 Code::Blocks,所以当我尝试编译时,它说 realpath() 根本没有定义。提交者没有提供任何替代方案,当我尝试在没有 MSVC 的情况下搜索 realpath 时,我得到的只是使用 realpath with MSVC。谁有我可以用 MinGW 代替的东西?

最佳答案

realpath() 是一个 POSIX 函数,这就是 MinGW 找不到它的原因。您可以做的是使用 boost::filesystem 库作为跨平台的替代方法来查找绝对路径。下面提供了 boost::filesystem 的教程:

http://www.boost.org/doc/libs/1_45_0/libs/filesystem/v2/doc/index.htm#tutorial

已经有一些关于 boost::filesystem 库的问题。下面附上了一个可能有用的链接:

How do I "normalize" a pathname using boost::filesystem?

关于c++ - 这个真实路径定义的跨平台替代方案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45124869/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com