使用node-gyp构建Boost.Geometry失败

时间:2013-02-02 12:32:33

标签: node.js boost node-gyp boost-geometry

我使用的是Mac OSX 10.8.2。我通过Homebrew安装了Boost 1.52.0,brew install boost

#include <node.h>
#include <v8.h>
#include <boost/geometry.hpp>

using namespace v8;

Handle<Value> Method(const Arguments& args) {
    HandleScope scope;

    return scope.Close(String::New("ok"));
}

void init(Handle<Object> target) {
    target->Set(String::NewSymbol("method"), FunctionTemplate::New(Method)->GetFunction());
}
NODE_MODULE(method, init);

尝试通过node-gyp build构建这个简单的NodeJS插件时,出现以下错误:

gyp info it worked if it ends with ok
gyp info using node-gyp@0.8.3
gyp info using node@0.8.18 | darwin | x64
gyp info spawn make
gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
  CXX(target) Release/obj.target/method/method.o
In file included from ../method.cc:3:
In file included from /usr/local/include/boost/geometry.hpp:17:
In file included from /usr/local/include/boost/geometry/geometry.hpp:75:
In file included from /usr/local/include/boost/geometry/multi/multi.hpp:74:
In file included from /usr/local/include/boost/geometry/multi/io/wkt/wkt.hpp:17:
In file included from /usr/local/include/boost/geometry/multi/io/wkt/read.hpp:23:
/usr/local/include/boost/geometry/io/wkt/read.hpp:123:38: error: use of undeclared identifier 'blc'
            throw read_wkt_exception(blc.what(), it, end, wkt);
                                     ^
/usr/local/include/boost/geometry/io/wkt/read.hpp:127:38: error: use of undeclared identifier 'e'
            throw read_wkt_exception(e.what(), it, end, wkt);
                                     ^
2 errors generated.
make: *** [Release/obj.target/method/method.o] Error 1
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/local/lib/node_modules/node-gyp/lib/build.js:255:23)
gyp ERR! stack     at ChildProcess.EventEmitter.emit (events.js:99:17)
gyp ERR! stack     at Process._handle.onexit (child_process.js:678:10)
gyp ERR! System Darwin 12.2.1
gyp ERR! command "node" "/usr/local/bin/node-gyp" "build"
gyp ERR! cwd /Users/alexandre/Projets/test
gyp ERR! node -v v0.8.18
gyp ERR! node-gyp -v v0.8.3
gyp ERR! not ok 

错误来源:

        catch(boost::bad_lexical_cast const& blc)
        {
            throw read_wkt_exception(blc.what(), it, end, wkt);
        }
        catch(std::exception const& e)
        {
            throw read_wkt_exception(e.what(), it, end, wkt);
        }

......这与错误相矛盾。我的设置有什么问题?

0 个答案:

没有答案
相关问题