我目前正在尝试使用node-gyp将c++与nodejs项目连接起来。我目前的问题是我有一个32位库文件和一个64位库文件。我的电脑正在使用64位。如果我使用32位库文件,并使用node-gyp-rebuild构建它,当我使用该库的函数时,它将有未解析的外部符号的错误,但如果我使用64位库,它可以正常工作。我想知道如果计算机是32位的,是否有一种方法可以包括32位库,如果是64位,是否有方法可以包括64位库
我试着运行
node-gyp clean configure build --verbose --arch=ia32
但当我运行node index.js 时,它将返回以下错误
testaddon.node is not a valid Win32 application.
我的图书馆binding.gyp文件如下
"libraries": [
"../cppsrc/lib/some32.lib"
]
我检查了这个链接,但在的条件下,它似乎没有拱形的选项
谢谢。
(这个老问题的(一个可能的解决方案是根据库文件的构建架构命名库文件,然后在binding.gyp中使用变量,在macos和linux上可以这样做:
"libraries": [
"../cppsrc/lib/some.<!(uname -m | tr A-Z a-z).lib"
]
根据您使用的shell,Windows可能有类似的功能。
请参阅https://gyp.gsrc.io/docs/InputFormatReference.md#Variables-和条件以获取详细信息。