用APR编译.错误消息:“尚未对您的平台的APR_PATH_MAX做出任何决定”

我最近下载了APR并在我的机器上成功构建了它(Ubuntu 12.0.4).

我将/path/to/apr_file_info.h包含到我的项目中,当我尝试编译时,收到以下错误消息:

尚未就您的平台的APR_PATH_MAX做出任何决定

在调查头文件(apr.h)后,我发现以下指令是负责的:

#if defined(PATH_MAX)
#define APR_PATH_MAX       PATH_MAX
#elif defined(_POSIX_PATH_MAX)
#define APR_PATH_MAX       _POSIX_PATH_MAX
#else
#error no decision has been made on APR_PATH_MAX for your platform
#endif

(天真?)解决方案是定义这些变量 – 但我不确定使用错误的大小是否会产生任何令人讨厌的影响 – 我不确定为编译器指令定义的正确大小.

为什么./configure无法正确确定我的平台(Ubuntu 12.0.4),我该如何解决这个问题?

最佳答案 在Linux上,PATH_MAX应在< linux / limits.h>中定义.在APR之前加入它,它应该解决您的问题:

#include <linux/limits.h>
#include <path/to/apr_file_info.h>

请注意,包括标准标题< limits.h>标题还应包含< linux / limits.h>或POSIX系统上的相关标题.

Windows上的等价物是MAX_PATH,在< windef.h>中定义.如果我没记错的话.

点赞