1

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

#ifndef BUILDING_NODE_EXTENSION

#endif  

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

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)

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

  CXX(target) Release/obj.target/graph/graph/addon.o
../graph/addon.cc:2:9: warning: 'BUILDING_NODE_EXTENSION' macro redefined
#define BUILDING_NODE_EXTENSION

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

4

2 回答 2

0

To get rid of the compiler warnings, try replacing

#define BUILDING_NODE_EXTENSION

with

#define BUILDING_NODE_EXTENSION 1
于 2014-11-06T01:06:29.037 回答
0

看起来您要么忘记使用 NODE_MODULE 宏,要么 binding.gyp 中的模块名称与 NODE_MODULE 中使用的名称不匹配

于 2014-10-02T13:03:14.217 回答