I tried to do the following:
clang++ -std=c++11 -stdlib=libc++ -Weverything -I.
out/x64.release/libv8_base.a out/x64.release/libv8_libbase.a
out/x64.release/libv8_nosnapshot.a out/x64.release/libicudata.a
out/x64.release/libicuuc.a out/x64.release/libicui18n.a hello_world.cpp -o
hello_world
Which gives me:
99 warnings generated.
Undefined symbols for architecture x86_64:
"v8::platform::CreateDefaultPlatform(int)", referenced from:
_main in hello_world-0e9dbc.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see
invocation)
So I guess I'm still no closer to get this to work.
On Tuesday, March 8, 2016 at 3:06:18 PM UTC+1, Jochen Eisinger wrote:
>
> filed https://bugs.chromium.org/p/v8/issues/detail?id=4821 to track this
>
> On Tue, Mar 8, 2016 at 3:04 PM Jochen Eisinger <[email protected]
> <javascript:>> wrote:
>
>> Yeah, I guess we should invest in updating the tutorial for other OSs as
>> well. The set of libraries you have to link against is the same as on
>> Linux, however, the command line is different (and I don't know off the top
>> of my head how the correct command line for OSX would look like).
>>
>> On Tue, Mar 8, 2016 at 2:50 PM Frank Lyder Bredland <[email protected]
>> <javascript:>> wrote:
>>
>>> Seems like your correct about the tutorial being for Linux, I just
>>> assumed that it would be the same for OSX since they are both *nix systems,
>>> thats my fault.
>>> I however would wish that there also was a Windows and OSX version of
>>> the tutorial.
>>>
>>> Seems like there was a binary in ./out/x64.release/hello-world just as
>>> you said. So even if the tutorial was for Linux I guess it worked on OSX?
>>>
>>> I'd wished that this made me any wiser, but how am I supposed to link
>>> this against my own application?
>>> I mean, I guess I could just change the hello_world example and keep my
>>> whole application in that file, but I guess thats not the best way to
>>> develop C++ applications while embedding V8.
>>>
>>> What I would like to do is in some way build something that I could link
>>> against my application.
>>>
>>> How would I go about doing that?
>>> Normally for other libraries you could download the header files and
>>> some pre-build libraries for your platform.
>>> Since I can't find this option for V8 I'm guessing you have to build
>>> from source.
>>> Running "make x64.release" worked and I was able to run the hello_world
>>> example, so I guess building works.
>>>
>>> Now how would link against this on OSX? I'm at a bit of a loss, since
>>> the example is for Linux and there are no example for OSX.
>>>
>>> On Tuesday, March 8, 2016 at 2:37:06 PM UTC+1, Jochen Eisinger wrote:
>>>
>>>>
>>>>
>>>> On Tue, Mar 8, 2016 at 2:00 PM Frank Lyder Bredland <
>>>> [email protected]> wrote:
>>>>
>>>>> Okay, I'm afraid most of what your saying is gibberish to me.
>>>>> It's a bit hard trying to get V8 to work when literally the first
>>>>> example doesn't work.
>>>>>
>>>>
>>>>
>>>> The tutorial explicitly says that it's targeting Linux...
>>>>
>>>>
>>>>> Could you give me a step-to-step tutorial on how I'm supposed to build
>>>>> the hello_world example?
>>>>>
>>>>
>>>> make x64.release is enough to build hello world. it's in
>>>> out/x64.release/hello-world
>>>>
>>>>
>>>>>
>>>>> What I tried, based on the tutorial (
>>>>> https://github.com/v8/v8/wiki/Getting%20Started%20with%20Embedding)
>>>>> was the following:
>>>>>
>>>>> $ fetch v8 # do download v8
>>>>> $ git checkout -b 4.8 -t branch-heads/4.8 # to get to the correct
>>>>> branch
>>>>> $ make x64.release # to build the lib?
>>>>>
>>>>> And then I copy-pasted the hello_world.cpp file from that page and
>>>>> tried to build it using the command that was listed there.
>>>>> Which gives me a bunch of errors for missing .a files.
>>>>>
>>>>> So my question is this:
>>>>>
>>>>> Can you explain it to me like I'm five, how to I build and run this
>>>>> hello_world.cpp example on OSX using make and gyp or whatever?
>>>>> If the example is outdated then how am I supposed to do it?
>>>>>
>>>>
>>>> The example assumes you use Linux. If you chose to deviate from some
>>>> parts of the tutorial, you're more or less on your own.
>>>>
>>>>
>>>>>
>>>>> On Tuesday, March 8, 2016 at 12:35:56 PM UTC+1, Jochen Eisinger wrote:
>>>>>
>>>>>> If you use make for your development, it should work. Just building
>>>>>> x64.release should create the hello_world binary.
>>>>>>
>>>>>> The command line from the example is still linux specific (and
>>>>>> predates the time we added hello_world to the "all" build target...)
>>>>>>
>>>>>> On Tue, Mar 8, 2016 at 12:14 PM Frank Lyder Bredland <
>>>>>> [email protected]> wrote:
>>>>>>
>>>>>>> I'm not sure what you mean when you say "hello_world target"? or why
>>>>>>> this shouldn't work on osx?
>>>>>>> I'm not looking to create a xcode project, just to build it using
>>>>>>> clang on the terminal.
>>>>>>>
>>>>>>> Is there any reason that "make x64.release" should not work on Mac?
>>>>>>>
>>>>>>>
>>>>>>> On Tuesday, March 8, 2016 at 11:51:49 AM UTC+1, Jochen Eisinger
>>>>>>> wrote:
>>>>>>>
>>>>>>>> This example command line only works on 64bit Linux.
>>>>>>>>
>>>>>>>> On Mac, just build the hello_world target. I don't know off the top
>>>>>>>> of my head what the corresponding command line would be for
>>>>>>>> xcodebuild,
>>>>>>>> sorry
>>>>>>>>
>>>>>>>> On Mon, Mar 7, 2016 at 5:59 PM Frank Lyder Bredland <
>>>>>>>> [email protected]> wrote:
>>>>>>>>
>>>>>>> I tried to follow this guid:
>>>>>>>>> https://github.com/v8/v8/wiki/Getting%20Started%20with%20Embedding
>>>>>>>>> <https://www.google.com/url?q=https%3A%2F%2Fgithub.com%2Fv8%2Fv8%2Fwiki%2FGetting%2520Started%2520with%2520Embedding&sa=D&sntz=1&usg=AFQjCNGAkmnkMHKNwDI4_Ax0b6qwnWLMuw>
>>>>>>>>>
>>>>>>>>> Everything seem to work until I get to step 3 where I get the
>>>>>>>>> following:
>>>>>>>>>
>>>>>>>>> v8 git:(4.8) ✗ g++ -I. hello_world.cpp -o hello_world
>>>>>>>>> -Wl,--start-group
>>>>>>>>> out/x64.release/obj.target/{tools/gyp/libv8_{base,libbase,external_snapshot,libplatform},third_party/icu/libicu{uc,i18n,data}}.a
>>>>>>>>> -Wl,--end-group -lrt -ldl -pthread -std=c++0x
>>>>>>>>> clang: error: no such file or directory:
>>>>>>>>> 'out/x64.release/obj.target/tools/gyp/libv8_base.a'
>>>>>>>>> clang: error: no such file or directory:
>>>>>>>>> 'out/x64.release/obj.target/tools/gyp/libv8_libbase.a'
>>>>>>>>> clang: error: no such file or directory:
>>>>>>>>> 'out/x64.release/obj.target/tools/gyp/libv8_external_snapshot.a'
>>>>>>>>> clang: error: no such file or directory:
>>>>>>>>> 'out/x64.release/obj.target/tools/gyp/libv8_libplatform.a'
>>>>>>>>> clang: error: no such file or directory:
>>>>>>>>> 'out/x64.release/obj.target/third_party/icu/libicuuc.a'
>>>>>>>>> clang: error: no such file or directory:
>>>>>>>>> 'out/x64.release/obj.target/third_party/icu/libicui18n.a'
>>>>>>>>> clang: error: no such file or directory:
>>>>>>>>> 'out/x64.release/obj.target/third_party/icu/libicudata.a'
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Any idea how to get it to work?
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> --
>>>>>>>>> v8-dev mailing list
>>>>>>>>>
>>>>>>>> [email protected]
>>>>>>>>
>>>>>>>>
>>>>>>>>> http://groups.google.com/group/v8-dev
>>>>>>>>> ---
>>>>>>>>> You received this message because you are subscribed to the Google
>>>>>>>>> Groups "v8-dev" group.
>>>>>>>>>
>>>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>>>>> send an email to [email protected].
>>>>>>>>
>>>>>>>>
>>>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>>>
>>>>>>>> --
>>>>>>> --
>>>>>>> v8-dev mailing list
>>>>>>> [email protected]
>>>>>>> http://groups.google.com/group/v8-dev
>>>>>>> ---
>>>>>>> You received this message because you are subscribed to the Google
>>>>>>> Groups "v8-dev" group.
>>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>>> send an email to [email protected].
>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>
>>>>>> --
>>>>> --
>>>>> v8-dev mailing list
>>>>> [email protected]
>>>>> http://groups.google.com/group/v8-dev
>>>>> ---
>>>>> You received this message because you are subscribed to the Google
>>>>> Groups "v8-dev" group.
>>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>>> an email to [email protected].
>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>
>>>> --
>>> --
>>> v8-dev mailing list
>>> [email protected] <javascript:>
>>> http://groups.google.com/group/v8-dev
>>> ---
>>> You received this message because you are subscribed to the Google
>>> Groups "v8-dev" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to [email protected] <javascript:>.
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups
"v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.