我正在使用C++和node-gyp编写一个node.js模块,但是当我修复所有错误时,就像在this问题中一样,这包括通过添加
#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我不明白为什么会这样,如果可能的话,我想摆脱编译器警告。有什么想法吗?
发布于 2014-10-02 21:03:14
看起来您可能忘记了使用NODE_MODULE宏,或者binding.gyp中模块的名称与NODE_MODULE中使用的名称不匹配
发布于 2014-11-06 09:06:29
若要消除编译器警告,请尝试将
#define BUILDING_NODE_EXTENSION使用
#define BUILDING_NODE_EXTENSION 1https://stackoverflow.com/questions/20105020
复制相似问题