構建用於Node.js的的Cygwin/Windows下一個本機模塊:C++爲什麼鏈接器無法看到我的文件?
我有這樣的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'
monkeyFoo
在monkey.h
其是在名爲monkey
目錄中定義。我從包含monkey
目錄和monkey.cc
文件的目錄運行上述命令。
編輯:
WScript的,這是Python腳本,節點WAF運行是這樣的:
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'
我在想什麼???
我們可以看看一些代碼嗎? – foxy
我已經添加了構建腳本。代碼沒有問題,因爲這是我正在編譯的現有代碼。我只需要把事情放在正確的地方! – Tom