Linux 下使用在C++中V8引擎的环境配置
2015-05-13 18:11
423 查看
最近需要在C++环境下运行JavaScript脚本,找了一下资料,最后决定使用谷歌开源的V8引擎来完成这一任务。
在使用的最开始,遇到了一些配置上的问题,这里做一下记录和总结吧。
----------------------------------------------------------------------------------------------------------------------
1.下载V8引擎的对应配置,具体连接不在此处给出了
2.编译后,或者直接下载到so后缀的库文件
3.我下载到的时已经包含了.h和so库的版本。文件目录如下:
(1)主目录
(2)include目录下文件
(3)lib64下文件(我的计算机是64位的,所以主要用到这个文件夹,我猜测32位的应该使用lib目录下的文件)
(4)V8_demos目录下有一个Hello world 目录,我们看看这个目录下有什么:
主要时一些C++的文件,还有两个makefile文件,这两个makefile文件后面会有用到。
至于 helloworld.cc 文件中的代码,如下:
4.主目录下的 V8_demos时一个简单的hello world的例子,我们就以这个例子来演示怎么使用V8
(1)移动上面的include 文件到 V8_demos 目录下
(2)上面lib64目录下的so 文件,把它放到系统的 /usr/local/lib 这个目录下面。
这里我搜索了很多文件,包括如何在Linux下使用SO库,或者如何在C++中引入SO库,但是查询的结果都不太理想,最后尝试了多次,找到了这种可以使用的方法。
实际上后面在使用eclipse编译C++的时候,为了能够编译通过,我将SO文件复制了一份到 /usr/lib 目录下,这里暂时可以先不管这个。
(3)可以开始尝试编译C++文件了。
我们打开 makefile64 文件,其内容如下:
我们只关注第二行代码 :
g++ -m64 -I../../include -L../../lib64 helloworld.cc -o helloworld_x64 -lpthread -lv8 -Wl,--rpath=../../lib64
经过试验后发现,将shell切换至hello world 目录下之后,运行该代码,可以成功编译使用了V8内容的C++文件。
至此,简单的 Linux 下使用在C++中V8引擎的环境配置以及完成了,实际上在使用V8的时候,我耗费了非常多的时间用于查询相关的配置,但是感觉没有一个特别详细的配置方法,因此我自己写了一下这个文章,希望对后来人有所帮助。
在使用的最开始,遇到了一些配置上的问题,这里做一下记录和总结吧。
----------------------------------------------------------------------------------------------------------------------
1.下载V8引擎的对应配置,具体连接不在此处给出了
2.编译后,或者直接下载到so后缀的库文件
3.我下载到的时已经包含了.h和so库的版本。文件目录如下:
(1)主目录
(2)include目录下文件
(3)lib64下文件(我的计算机是64位的,所以主要用到这个文件夹,我猜测32位的应该使用lib目录下的文件)
(4)V8_demos目录下有一个Hello world 目录,我们看看这个目录下有什么:
主要时一些C++的文件,还有两个makefile文件,这两个makefile文件后面会有用到。
至于 helloworld.cc 文件中的代码,如下:
#include <v8.h> using namespace v8; int main(int argc, char* argv[]) { // Create a stack-allocated handle scope. HandleScope handle_scope; // Create a new context. Persistent<Context> context = Context::New(); // Enter the created context for compiling and // running the hello world script. Context::Scope context_scope(context); // Create a string containing the JavaScript source code. Handle<String> source = String::New("'Hello' + ', World!'"); // Compile the source code. Handle<Script> script = Script::Compile(source); // Run the script to get the result. Handle<Value> result = script->Run(); // Dispose the persistent context. context.Dispose(); // Convert the result to an ASCII string and print it. String::AsciiValue ascii(result); printf("%s\n", *ascii); return 0; }
4.主目录下的 V8_demos时一个简单的hello world的例子,我们就以这个例子来演示怎么使用V8
(1)移动上面的include 文件到 V8_demos 目录下
(2)上面lib64目录下的so 文件,把它放到系统的 /usr/local/lib 这个目录下面。
这里我搜索了很多文件,包括如何在Linux下使用SO库,或者如何在C++中引入SO库,但是查询的结果都不太理想,最后尝试了多次,找到了这种可以使用的方法。
实际上后面在使用eclipse编译C++的时候,为了能够编译通过,我将SO文件复制了一份到 /usr/lib 目录下,这里暂时可以先不管这个。
(3)可以开始尝试编译C++文件了。
我们打开 makefile64 文件,其内容如下:
我们只关注第二行代码 :
g++ -m64 -I../../include -L../../lib64 helloworld.cc -o helloworld_x64 -lpthread -lv8 -Wl,--rpath=../../lib64
经过试验后发现,将shell切换至hello world 目录下之后,运行该代码,可以成功编译使用了V8内容的C++文件。
至此,简单的 Linux 下使用在C++中V8引擎的环境配置以及完成了,实际上在使用V8的时候,我耗费了非常多的时间用于查询相关的配置,但是感觉没有一个特别详细的配置方法,因此我自己写了一下这个文章,希望对后来人有所帮助。
相关文章推荐
- Linux使用Eclipse开发C/C++环境配置
- C/C++代码静态检查工具Cppcheck在VS2008开发环境中的安装配置和使用
- 在Linux下使用C++开发Nginx模块的编译配置
- 【VNC】Linux环境VNC服务安装、配置与使用
- Ubuntu(Linux)使用Eclipse搭建C/C++编译环境
- Linux(CentOS6.x)下使用yum软件管理工具安装LNMP(Nginx+PHP+Mysql)环境并配置虚拟主机vhost
- Qt在Linux环境下应用程序字体模糊的解决方法(先改成使用默认字体,然后使用qtconfig配置)
- Linux环境下node.js环境的搭建以及配置,使用node.js编写工具与简化less编译
- 【VNC】Linux环境VNC服务安装、配置与使用
- linux 入门 - 双系统的安装&JDK环境配置&Android Studio 的安装使用
- C++使用外部库开发的环境配置
- Linux环境下使用C/C++编写CGI(httpd)
- C/C++代码静态检查工具Cppcheck在VS2013开发环境中的安装配置和使用
- Linux 开发环境搭建与使用——SlickEdit 的安装与配置
- 【C++】使用MinGW配置Eclipse for C++环境
- Android 运行 C/C++程序 (使用 arm-linux-gcc 交叉编译环境)
- VS2010配置C/C++多线程使用环境
- 信息安全系统设计基础实验一:Linux开发环境的配置和使用(135317、135337)
- 信息安全系统设计基础实验一:Linux开发环境的配置和使用(20135234,20135229)
- 信息安全系统设计基础实验一:Linux开发环境的配置和使用