0

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ます。

編集:

node-wafが実行するPythonスクリプトであるwscriptは、次のようになります。

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'

私は何が欠けていますか?

4

2 に答える 2

3

これはリンカーエラーであり、コンパイラエラーではありません。関数の定義はありますか?(単なる宣言ではありません。)そして、それがリンクされていると確信していますか?

于 2011-07-03T01:48:23.423 に答える
0

monkey.lib='crypto'wscriptを追加します。

于 2011-07-11T10:50:56.420 に答える