gpt4 book ai didi

C++ 为什么链接器看不到我的文件?

转载 作者:行者123 更新时间:2023-11-28 01:05:13 25 4
gpt4 key购买 nike

在 Cygwin/Windows 下为 Node.js 构建原生模块:

我有一个 monkey.cc 文件:

#include <monkey/monkey.h>

运行

node-waf configure build

我得到以下信息

'configure' finished successfully (0.351s)
Waf: Entering directory `/usr/src/build'
[2/2] cxx_link: build/default/monkey_1.o -> build/default/monkey.node build/default/libmonkey.dll.a
Creating library file: default/libmonkey.dll.a

然后出现如下错误:

default/monkey_1.o:/usr/src/build/../monkey.cc:144: undefined reference to `_monkeyFoo'

monkeyFoomonkey.h 中定义,它位于名为 monkey 的目录中。我正在从包含 monkey 目录和 monkey.cc 文件的目录中运行上述命令。

编辑:

wscript,这是 node-waf 运行的 python 脚本,如下所示:

import os

srcdir = '.'
blddir = './build'
VERSION = '0.0.2'

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

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

def build(bld):
monkey = bld.new_task_gen('cxx', 'shlib', 'node_addon')
monkey.cxxflags = ["-g", "-D_FILE_OFFSET_BITS=64", "-D_LARGEFILE_SOURCE", "-Wall", "-L/usr/lib", "-lssl"]
monkey.chmod = 0755
monkey.target = 'monkey'
monkey.source = 'monkey.cc'

我错过了什么???

最佳答案

那是链接器错误,不是编译器错误。你有函数的定义吗? (不仅仅是声明。)你确定它被链接进来了吗?

关于C++ 为什么链接器看不到我的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6560619/

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