首页 > 代码库 > 编译cef 2526

编译cef 2526

fetch --nohooks chromium

cd /path/to/chromium/src
# git checkout -b 51.0.2704.103 refs/tags/51.0.2704.103
# gclient sync --nohooks --with_branch_heads --jobs 16
# git clone https://bitbucket.org/chromiumembedded/cef.git

# third_party/WebKit/LayoutTests/mhtml/transfer_encoding_8bit.mht
#Please, commit your changes or stash them before you can switch branches.
#Aborting
#E:\srccode\chromium\src>git reset --hard
#E:\srccode\chromium\src>git pull

cd /path/to/chromium/src
gclient sync --nohooks --with_branch_heads
git fetch
git fetch --tags

git checkout refs/tags/47.0.2526.80 -----current select
or
git checkout -b 47.0.2526.80 refs/tags/47.0.2526.80

gclient sync --jobs 16
or
gclient sync --nohooks --with_branch_heads --jobs 16 -----current select

git clone https://bitbucket.org/chromiumembedded/cef.git

cd cef
git checkout -t origin/2526
modify the cef.gyp

cd /path/to/chromium/src
set DEPOT_TOOLS_WIN_TOOLCHAIN=0
set GYP_GENERATORS=ninja
set GYP_MSVS_VERSION=2013
gclient runhooks

cd cef
execute the create.bat

cd /path/to/chromium/src
ninja -C out/Release cefclient
ninja -C out/Debug cefclient

cd /path/to/chromium/src/cef/tools
make_distrib.bat --ninja-build

FAILED: obj/ui/gl/gl.gl_bindings_skia_in_process.obj
ninja -t msvc -e environment.x86 -- "C:\Program Files (x86)\Microsoft Visual Stu
dio 12.0\VC\bin\amd64_x86\cl.exe" /nologo /showIncludes /FC @obj\ui\gl\gl.gl_bin
dings_skia_in_process.obj.rsp /c ..\..\ui\gl\gl_bindings_skia_in_process.cc /Foo
bj\ui\gl\gl.gl_bindings_skia_in_process.obj /Fdobj\ui\gl\gl.cc.pdb
e:\code\chromium\src\ui\gl\gl_bindings_skia_in_process.cc(891) : error C2679: bi
nary ‘=‘ : no operator found which takes a right-hand operand of type ‘overloade
d-function‘ (or there is no acceptable conversion)
e:\code\chromium\src\third_party\skia\include\gpu\gl\grglinterface.h(116
): could be ‘GrGLInterface::GLPtr<GrGLFlushMappedBufferRangeProc> &GrGLInterface
::GLPtr<GrGLFlushMappedBufferRangeProc>::operator =(const GrGLInterface::GLPtr<G
rGLFlushMappedBufferRangeProc> &)‘
e:\code\chromium\src\third_party\skia\include\gpu\gl\grglinterface.h(112
): or ‘GrGLInterface::GLPtr<GrGLFlushMappedBufferRangeProc> GrGLInterface:
:GLPtr<GrGLFlushMappedBufferRangeProc>::operator =(FNPTR_TYPE)‘
with
[
FNPTR_TYPE=GrGLFlushMappedBufferRangeProc
]
while trying to match the argument list ‘(GrGLInterface::GLPtr<GrGLFlush
MappedBufferRangeProc>, overloaded-function)‘

chromium\src\ui\gl\gl_bindings_skia_in_process.cc文件,把提示有错误的函数参数类型前面都加上Gr,
如原来为 GLenum的,改成GrGLenum,GLintptr 改为GrGLintptr等等,如为void*的,改成GrGLvoid.

FAILED: obj/ui/gl/gl.egl_util.obj
ninja -t msvc -e environment.x86 -- "C:\Program Files (x86)\Microsoft Visual Stu
dio 12.0\VC\bin\amd64_x86\cl.exe" /nologo /showIncludes /FC @obj\ui\gl\gl.egl_ut
il.obj.rsp /c ..\..\ui\gl\egl_util.cc /Foobj\ui\gl\gl.egl_util.obj /Fdobj\ui\gl\
gl.cc.pdb
e:\code\chromium\src\third_party\swiftshader\include\egl\eglext.h(119) : error C
4430: missing type specifier - int assumed. Note: C++ does not support default-i
nt
e:\code\chromium\src\third_party\swiftshader\include\egl\eglext.h(119) : error C
2143: syntax error : missing ‘,‘ before ‘*‘
e:\code\chromium\src\third_party\swiftshader\include\egl\eglext.h(120) : error C
2061: syntax error : identifier ‘EGLAttrib‘
e:\code\chromium\src\third_party\swiftshader\include\egl\eglext.h(515) : error C
2061: syntax error : identifier ‘EGLAttrib‘

chromium\src\third_party\swiftshader\include\egl\eglext.h,
在62行typedef intptr_t EGLAttribKHR;
后加追加typedef intptr_t EGLAttrib;

编译cef 2526