fetch v8
cd v8
中所述构建
gclient sync
make x64.release
更新到最新的master,并使用了一个示例:
git checkout master
git pull
但是当按照Get Started中的描述构建一个samle时,我遇到了一个错误
g++ -I. hello_world.cc -o hello_world -Wl,--start-group out/x64.release/obj.target/{tools/gyp/libv8_{base,libbase,snapshot,libplatform},third_party/icu/libicu{uc,i18n,data}}.a -Wl,--end-group -lrt -pthread -std=c++0x
g++: error: out/x64.release/obj.target/tools/gyp/libv8_snapshot.a: No such file or directory
事实证明没有这样的文件:
$ find . -name *snapshot*.a
./out/x64.release/obj.target/tools/gyp/libv8_nosnapshot.a
./out/x64.release/obj.target/tools/gyp/libv8_external_snapshot.a
所以问题是,我做错了什么?
答案 0 :(得分:0)
根据以上链接:
“Getting Started仅与当前的稳定版本兼容。我目前正在更新它以与4.4版本兼容。”
所以我们可以查看稳定版本,如4.4
git checkout -b 4.4 -t branch-heads/4.4
然后继续其余步骤。
但注意到版本4.5中存在hello-world.cc,因此我们可以先下载该示例。
以下是我从链接中复制的步骤:
Goto v8/ git checkout -b 4.5 -t branch-heads/4.5 Copy samples/hello-world.cc to v8/ git checkout -b 4.4 -t branch-heads/4.4 gclient sync make x64.release snapshot=off g++ -I. hello-world.cc -o hello_world -Wl,--start-group out/x64.release/obj.target/{tools/gyp/libv8_{base,libbase,nosnapshot,libplatform},third_party/icu/libicu{uc,i18n,data}}.a -Wl,--end-group -lrt -ldl -pthread -std=c++0x ./hello_world