C++ 为什么链接器看不到我的文件?
C++ Why can't the linker see my files?
在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'
在名为monkey
的目录中的CCD_ 2中定义CCD_。我正在包含monkey
目录和monkey.cc
文件的目录中运行上述命令。
编辑:
wscript,这是节点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'
我缺少什么
这是链接器错误,而不是编译器错误。你有这个函数的定义吗?(不仅仅是声明。(你确定它被链接了吗?
在wscript中添加monkey.lib='crypto'
。
相关文章:
- 我的文件无法正常工作,无法从C++文件中读取上下文
- 将内容从第一个文件("constituencies")移动到第二个文件("temp")并在之后重命名时,我的文件被删除
- 为什么URLDownloadToFile()没有下载我的文件
- 使用Cygwin C++时出现未定义的引用错误,为什么我的文件没有链接?
- C++ while 循环没有从我的文件中读取 -1
- 这是我的 .h 文件的一些错误,当我在其中包含我的类模板时,它显示 [错误] 未终止 #ifndef
- 为什么我的".a"文件中的所有符号值都是 0
- 不会在登录名中读取C++我的文件
- 使用 c++ 将我的文件拆分为 128 个字节
- 我的C++文件期望用'while'代替 if。最后,它预计会出现'('
- 为什么当我写入文件时,结构在我的文件中消失了
- 视觉C++为什么我的文件在重新启动程序时被截断?
- 我的文件可以编译,但当我尝试运行它时"no such file or directory"
- 在Ostream上使用std :: endl使我的文件二进制
- 无法使用名称空间,也不能在我的.h文件中包含标准的C 库
- 为什么我的文件/目录操作在Windows上工作正常,但在Linux上不能
- 我的C文件是从Pro*C生成的吗
- C++11 fgetc 在"r+b"模式下使用时向我的文件输出 0
- Qt Android:如果我写信给"./myfile.txt",我的文件在哪里?
- 我的C++文件中是否有可能的内存泄漏