【问题标题】:Node-gyp Include and Library Directories with Boost带有 Boost 的 Node-gyp 包含和库目录
【发布时间】:2013-04-19 08:48:46
【问题描述】:

我正在尝试在我的 Windows 7 机器上构建一个 Node C++ 插件,该插件使用 Boost 库中的一些类。但是,运行后

node-gyp configure

成功了,我在运行时不断被丢失的头文件攻击

node-gyp build

与我包含的各种 Boost 标头有关。

我尝试在“configure”创建的 Visual Studio 项目中手动设置包含和库目录,但无济于事。

究竟如何为 node-gyp 定义包含目录?

[编辑] 在搞砸了 node-gyp 但收效甚微之后,我转而探索通过 Visual Studio 构建 Node 模块,结果证明,几个小时后,它终于可以正常工作了。感谢您的帮助。

【问题讨论】:

    标签: c++ node.js boost visual-studio-2012


    【解决方案1】:

    您需要将它们添加到 binding.gyp 文件中:

    'include_dirs': [
      '<some directory>',
    ],
    'libraries': [
      '-l<some library>', '-L<some library directory>'
    ]
    

    【讨论】:

    • 现在,我的 binding.gyp 文件看起来像 this。但是,我仍然收到有关无法找到包含的头文件的错误。我做错了吗?
    • 你能粘贴C:\Boost\boost_1_53_0的目录列表吗?
    • 来自 boost.org:要在 Boost 中编译任何东西,您需要一个目录,该目录在您的 #include 路径中包含 boost\ 子目录。在 Microsoft Visual Studio 中设置 #include 路径的具体步骤将在本文档后面介绍;如果您使用其他 IDE,请查阅您产品的文档以获取说明。所以我认为你需要: "include_dirs": [ "C:\Boost\boost_1_53_0\boost" ]
    • C:\Boost\boost_1_53_0 * bin * bin.v2 * boost * doc * libs * more * stage * status * tools 它必须指向“boost”文件夹吗?当我在 VS 中定期使用 Boost 时,我将包含目录设置为 boost_1_53_0 并且效果很好。
    猜你喜欢
    • 2012-12-29
    • 1970-01-01
    • 2018-05-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多