【问题标题】:CMake Boost libboost_filesystem.so error adding symbols: File in wrong formatCMake Boost libboost_filesystem.so 添加符号时出错:文件格式错误
【发布时间】:2015-04-08 20:18:41
【问题描述】:

我是 CMake 和 Boost 的新手!

我使用的是 Mac,因此无法在我的机器上测试 Boost 代码。我有一个带有 Ubuntu 的虚拟机。我正在使用 JetBrains CLion IDE,它使用 CMake 进行构建。我尝试过的每个教程都没有成功。所以,我只是决定做一个什么都不做的项目。我已将 Boost 信息添加到 CMakeLists.txt 文件中:


编辑

由于我真的不了解 CMakeLists.txt 配置,因此我了解到我使用了一个错误的配置,只需删除 set(Boost_LIBRARY_DIR /usr/local/arm/lib) 命令即可。这是正确的 CMakeLists.txt 文件的新图像。

我找不到 Boost_LIBRARIES 的配置位置,这可能与我的问题有关。你可以看到 main 除了打印出“Hello, World!”之外什么也没做。

这是我尝试构建时遇到的错误:

【问题讨论】:

    标签: c++ boost cmake


    【解决方案1】:

    Boost_LIBRARIES 是在你调用 find_package(Boost 1.54 ....) 时配置的

    线

    设置(Boost_LIBRARY_DIR /usr/local/arm/lib)

    对您的代码没有影响。

    Mac 仍然使用英特尔处理器 AFAIK,您的 Ubuntu 虚拟机也是如此。从您的 boost 库的位置来看,boost 似乎是为 arm 编译的。您的系统上是否安装了其他 boost 库?你自己安装了 boost 吗?

    一个

    【讨论】:

    • 我确实在同事的帮助下自己安装了 boost。是的,boost 是为 arm 编译的。是这个问题吗?我必须如何编译它才能让它在我的虚拟机中工作?
    • 如果你想为 arm 编译,那么你需要在你的 CMakeLists.txt 文件中指明。您可以在 cmake.org/cmake/help/v3.0/manual/cmake-toolchains.7.html 找到文档。如果没有,那么您可以使用 apt-get 安装 boost。
    • 正如我所说,就此而言,我是 CMake、Boost 和 C++ 的新手。你完全正确。我需要做的就是删除 set (Boost_LIBRARY_DIR /usr/local/arm/lib) 行。这使它起作用了! :-)
    • 如果您想帮忙,我有一个新问题。在这里:stackoverflow.com/q/29616807/1735836
    • Alain - 我遇到了一些链接问题。问题在这里:stackoverflow.com/q/29638539/1735836如果你有兴趣!! :-)
    猜你喜欢
    • 2015-03-14
    • 1970-01-01
    • 1970-01-01
    • 2015-08-19
    • 1970-01-01
    • 1970-01-01
    • 2020-10-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多