大家好,我是个java程序员,最近公司需要转到了c++,从事ndk的开发。所以c++开发经验为0,很多术语听不懂大家见谅。
我下载了google 的 v8engine 源码,然后在本地编译完工得到两个so文件 libv8.so,libv8preparser.so, 想使用eclipse建立一个helloworld,然后悲剧就发生来
我的开发环境是 eclipse + cdt + linux64
错误有几点
1 我在eclipse里面include所有 v8的头文件的时候会报错,不能编译
class Scope {
public:
explicit inline Scope(Handle<Context> context) : context_(context) {
context_->Enter(); // <--------------undefined reference to `v8::Context::Enter()'
}
inline ~Scope() { context_->Exit(); }// <------------------undefined reference to `v8::Context::Exit()'
private:
Handle<Context> context_;
};
自认为这个是不会出错的,求解
2 我把 libv8.so,libv8preparser.so添加到g++的编译 lib 后,上面的语法错误就自动消失了,但是会在链接的说话报 libv8.so,libv8preparser.so没有找到的错误。我反反复复折腾了很多次都不能修复,只好向各位求解。
**** Build of configuration Debug for project v8 ****
make all
Building target: v8
Invoking: GCC C++ Linker
g++ -o "v8" ./v8src/Hello_world.o -l"/home/jie/workspace/v8/v8so/libv8.so" -l"/home/jie/workspace/v8/v8so/libv8preparser.so"
/bin/ld: cannot find -l/home/jie/workspace/v8/v8so/libv8.so
/bin/ld: cannot find -l/home/jie/workspace/v8/v8so/libv8preparser.so
collect2: error: ld returned 1 exit status
make: *** [v8] Error 1
**** Build Finished ****
项目2M,附件发送不了,大家见谅