首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用#ifndef中断node-gyp模块

使用#ifndef中断node-gyp模块
EN

Stack Overflow用户
提问于 2013-11-21 03:22:54
回答 2查看 285关注 0票数 1

我正在使用C++node-gyp编写一个node.js模块,但是当我修复所有错误时,就像在this问题中一样,这包括通过添加

代码语言:javascript
复制
#ifndef BUILDING_NODE_EXTENSION

代码语言:javascript
复制
#endif  

到我的文件里。然后我得到了错误

代码语言:javascript
复制
module.js:356
  Module._extensions[extension](this, filename);
                               ^
Error: Symbol graph_module not found.
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at Object.<anonymous> (/Users/home/project/test.js:1:75)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Function.Module.runMain (module.js:497:10)

但是,当我删除它们时,一切都很正常,相反,我只是收到编译器警告,比如

代码语言:javascript
复制
  CXX(target) Release/obj.target/graph/graph/addon.o
../graph/addon.cc:2:9: warning: 'BUILDING_NODE_EXTENSION' macro redefined
#define BUILDING_NODE_EXTENSION

我不明白为什么会这样,如果可能的话,我想摆脱编译器警告。有什么想法吗?

EN

回答 2

Stack Overflow用户

发布于 2014-10-02 21:03:14

看起来您可能忘记了使用NODE_MODULE宏,或者binding.gyp中模块的名称与NODE_MODULE中使用的名称不匹配

票数 0
EN

Stack Overflow用户

发布于 2014-11-06 09:06:29

若要消除编译器警告,请尝试将

代码语言:javascript
复制
#define BUILDING_NODE_EXTENSION

使用

代码语言:javascript
复制
#define BUILDING_NODE_EXTENSION 1
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20105020

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档