【问题标题】:Visual Studio 2017 Remote Build for Linux with Boost带有 Boost 的 Visual Studio 2017 远程构建 Linux
【发布时间】:2018-05-18 16:21:52
【问题描述】:

我有一个使用“boost/asio.hpp”的 C++ 项目。在我的 Linux 机器上,我可以使用 CMake 构建该项目。

但是,当我在我的 Windows 机器上使用 Visual Studio 2017 设置它时,即使我将“boost_asio”添加到属性/链接器/输入,我仍然有错误:“致命错误:boost/asio.hpp: no这样的文件或目录。”我还尝试将我的 Windows 机器上的 boost 路径添加到“附加库目录”,但它仍然不起作用。

我想我不明白这种情况下的编译过程是如何的。

【问题讨论】:

    标签: c++ linux visual-studio boost build


    【解决方案1】:

    假设您正在尝试构建 Windows 应用程序并且您已在 Windows 系统上安装并构建了 boost 库:

    C/C++ 下的项目属性中,将<the path to your boost root folder> 添加到Additional Include Directories,例如c:\boost_1_65_1.

    boost::asio 是一个只有头文件的库,所以这就是你需要做的。

    但是,一些 boost 库具有您必须链接到的对象库,在这种情况下:

    Linker/General 下的项目属性中,将<the path to your boost root folder>\stage\lib 添加到Additional Library Directories,例如c:\boost_1_65_1\stage\lib 。在 Windows 上,boost 会自动添加对对象库的引用。

    【讨论】:

    • 感谢您的解决方案,但我正在 Windows 环境中使用 Visual Studio 构建 Linux 应用程序。我有一台 Linux 远程机器,我的 VS 连接到它以进行构建。
    • 在这种情况下,您应该将Additional Include Directories 中的C/C++ 设置为Linux 遥控器上boost 根文件夹的路径。使用绝对路径(即非相对路径)。而且,如果您希望 IntelliSense 识别 asio 功能等,请在您的 Windows 主机上安装 boost,并在Additional Include Directories 中包含 Windows 上的 boost 根路径。 IE。您将指定 asio 标头的路径两次,一次用于 Windows,一次用于 Linux。
    猜你喜欢
    • 1970-01-01
    • 2019-05-26
    • 1970-01-01
    • 2017-10-27
    • 1970-01-01
    • 2018-11-06
    • 2018-03-22
    • 2017-08-05
    • 2018-12-01
    相关资源
    最近更新 更多