ZhuChaozheng / libjingle

Automatically exported from code.google.com/p/libjingle
0 stars 0 forks source link

VS2012 build errors #420

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
call python build/gyp_chromium --depth=. -fmsvs -G msvs_version=2012 
talk/libjingle_all.gyp
devenv -build Debug talk/libjingle_all.sln

What is the expected output?
builds

What do you see instead?
Build fails in gtest
81>d:\src\libjingle\trunk\third_party\gtest\include\gtest/internal/gtest-param-u
til-generated.h(4596): error C2955: 'std::tuple' : u
se of class template requires template argument list 
(media\base\videocapturer_unittest.cc)
81>          C:\Program Files (x86)\Microsoft Visual Studio 
11.0\VC\include\utility(73) : see declaration of 'std::tuple'
81>d:\src\libjingle\trunk\third_party\gtest\include\gtest/internal/gtest-param-u
til-generated.h(4603): error C3203: 'tuple' : unspec
ialized class template can't be used as a template argument for template 
parameter 'T', expected a real type (media\base\videocaptur

What version of the product are you using?
head -  r261

On what operating system?
Windows7

Please provide any additional information below.
gtest and chromium have been fixed.  Roll DEPS to fix.
Suggest using same versions as webrtc's DEPS

Original issue reported on code.google.com by fbarch...@google.com on 13 Jan 2013 at 6:58

GoogleCodeExporter commented 9 years ago
https://webrtc-codereview.appspot.com/1027010/ will probably solve this with 
the rolling of the chromium_revision.

Original comment by kjellan...@google.com on 16 Jan 2013 at 9:55

GoogleCodeExporter commented 9 years ago
chromium deps doesnt fix gtest
d:\src\libjingle\trunk>call python build/gyp_chromium --depth=. -fninja -G 
msvs_version=2012 talk/libjingle_all.gyp
Updating projects from gyp files...
ninja: Entering directory `out\Debug'
[401/2167] CXX obj\third_party\gtest\src\gunit.gtest-all.obj
FAILED: ninja -t msvc -o obj\third_party\gtest\src\gunit.gtest-all.obj -e 
environment.x86 -- cl.exe /nologo /showIncludes /FC @obj\t
hird_party\gtest\src\gunit.gtest-all.obj.rsp  /c 
..\..\third_party\gtest\src\gtest-all.cc 
/Foobj\third_party\gtest\src\gunit.gtest-a
ll.obj  /Fdgunit.pdb
d:\src\libjingle\trunk\third_party\gtest\include\gtest\gtest-printers.h(550) : 
error C2977: 'std::tuple' : too many template argumen
ts
        c:\program files (x86)\microsoft visual studio 11.0\vc\include\utility(73) : see declaration of 'std::tuple'
d:\src\libjingle\trunk\third_party\gtest\include\gtest\gtest-printers.h(558) : 
error C2977: 'std::tuple' : too many template argumen

Original comment by fbarch...@google.com on 16 Jan 2013 at 11:01

GoogleCodeExporter commented 9 years ago
I think this failure is caused by the special handling of gtest in the 
libjingle_test.gyp. I think Windows have problems compiling the 
'<(DEPTH)/third_party/gtest/src/gtest-all.cc',

Ronghua: can you have a look at using 
'<(DEPTH)/testing/gtest.gyp:gtest',
as a dependency instead in the .gyp? 

That would work if the DEPS file is updated according to the patch attached to 
this comment. It moves gtest from third_party/ to testing/ instead, so the 
testing/gtest.gyp from Chrome can be used.

I was looking at creating a CL to resolve this, but I wasn't sure how you use 
the <(android_ndk_include) variable in the libjingle_tests.gyp, so I think 
you'll have to do it.

Original comment by kjellan...@google.com on 18 Jan 2013 at 3:03

Attachments: