gpt4 book ai didi

c++ - 使用混合的 C/C++ 源文件构建 NodeJS 插件

转载 作者:太空宇宙 更新时间:2023-11-04 04:01:26 25 4
gpt4 key购买 nike

我正在尝试从混合的 C/C++ 源构建一个 NodeJS 插件。我想避免将 C 代码构建为单独的共享库,尽管这是部分解决方案。

我得到错误:

Cannot guess how to process src:///home/chris/Dropbox/cbackend/data.c 
(got mappings ['.C', '.cc', '.cpp', '.c++', '.cxx']
in <class 'cxx.cxx_taskgen'>) -> try conf.check_tool(..)?

当我尝试构建它时。如果我将 .c 文件重命名为 .cc 并适本地更改 wscript,一切正常。

我试过在 wscript 中添加一个 'compiler_c',但它似乎不可用。

这是 wscript:

import os
import Options

srcdir = '.'
blddir = 'build'
VERSION = '0.3.0'

def set_options(opt):
opt.tool_options('compiler_cxx')

def configure(conf):
conf.check_tool('compiler_cxx')
conf.check_tool('node_addon')

conf.env.append_value('CCFLAGS', ['-O3'])
conf.env.append_value('CXXFLAGS', ['-O3'])
if Options.platform == 'darwin': conf.env.append_value('LINKFLAGS', ['-undefined', 'dynamic_lookup'])

def build(bld):
obj = bld.new_task_gen('cxx', 'shlib', 'node_addon')
obj.target = 'cbackend'
obj.source = 'cbackend.cc data.c'
obj.uselib = ['NODE']

最佳答案

我在邮件列表中获得了解决方案。

纯 C 编译器在 NodeJS 中称为“compiler_cc”,而不是 WAF 文档中的“compiler_c”。

关于c++ - 使用混合的 C/C++ 源文件构建 NodeJS 插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11187457/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com