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.

Reply via email to