【问题标题】:Cmake compiler "not found" warnings, cause for concern? (MySQL)Cmake 编译器“未找到”警告,值得关注吗? (MySQL)
【发布时间】:2013-07-31 19:48:11
【问题描述】:

我可以安全地忽略这些 cmake 编译器警告吗?

我正在学习从源代码编译包并在 MySQL 上练习。

当我看到这样的“通知”(引用特定的“未找到”文件)时,我是否应该搜索并安装开发库:

$ cmake . -LA
...
-- Looking for include file cxxabi.h
-- Looking for include file cxxabi.h - not found.
-- Looking for include file dirent.h
-- Looking for include file dirent.h - found
-- Looking for include file dlfcn.h
-- Looking for include file dlfcn.h - found

对于引用这些“未找到”消息的通知,我应该怎么做:

-- Looking for bmove
-- Looking for bmove - not found
-- Looking for bsearch
-- Looking for bsearch - found
-- Looking for index
-- Looking for index - found

例如,cxxabi.h 可以在 Debian 上的 libstdc++6-4.7-dev 中找到。是否需要安装 libstdc++6-4.7-dev 才能正确编译 MySQL?

我也有一些(经常的?)我不确定的警告:

-- Performing Test TIME_T_UNSIGNED
-- Performing Test TIME_T_UNSIGNED - Failed
-- Performing Test HAVE_GETADDRINFO
-- Performing Test HAVE_GETADDRINFO - Success

总的来说,我的构建似乎运行良好,但我想确定一下。

【问题讨论】:

    标签: mysql compilation cmake compiler-warnings


    【解决方案1】:

    如果 CMake 配置过程没有失败,则意味着这些标头是可选的,并且 MySQL 代码中有针对这些情况的解决方法。

    也可能是,当某些标题不存在时,某些功能会被静默关闭。为 MySQL 提供尽可能多的可选标头是有意义的。

    请注意,某些标头是特定于操作系统的,因此您不能也不必提供它们。

    【讨论】:

    • 欣赏信息。我可以很容易地找到丢失的文件,但是您对如何找到丢失的 non-file 通知有什么建议吗?例如,上面缺少的是bmove。那是一个功能吗?你知道如何追踪这些吗?
    • 您可以在类 Unix 操作系统和 Google 上使用 man 命令。 bmove 是一个已弃用的系统调用。
    猜你喜欢
    • 2012-12-23
    • 1970-01-01
    • 1970-01-01
    • 2011-01-06
    • 2015-06-27
    • 1970-01-01
    • 1970-01-01
    • 2011-05-09
    相关资源
    最近更新 更多