Hi Mike,
Thanks again for the help. I added all skia static Libs I could find (47 Skia Libs listed below), but I still getting some "undefined reference" errors. Here are the Libs in my makefile:
==============================
Skia Libs:
libpng_static.a, libskia_animator.a, libskia_codec.a, libskia_core.a, libskia_effects.a, libskia_images.a, libskia_opts.a, libskia_opts_sse41.a, libskia_opts_ssse3.a, libskia_pdf.a
libskia_ports.a, libskia_sfnt.a, libskia_skgpu.a, libskia_skgputest.a, libskia_svg.a, libskia_utils.a, libskia_views.a, libskia_xml.a, libskia_xps.a, libcrash_handler.a, libetc1.a, libexperimental.a
libflags.a, libflags_common.a, libgiflib.a, libicuuc.a, libjpeg.a, libjsoncpp.a, liblua.a, libnanomsg.a, libpicture_renderer.a, libpicture_utils.a, libpng_static_neon.a, libproc_stats.a, libresources.a
libsfntly.a, libskflate.a, libSkKTX.a, libsk_tool_utils.a, libtest_public_includes.a, libtimer.a, libviews_animated.a, libwebp_dec.a, libwebp_demux.a, libwebp_dsp.a, libwebp_enc.a, libwebp_utils.a
Other Libs:
libopengl32 libpng libfontconfig libfreetype libglui libglut libglusterfs
==============================
Here are some of the errors I'm getting now, just to give you an idea of what I'm going through:
+===========================================+
[PATH_OF_SKIA]/out64/Debug/libskia_ports.a(ports.SkGlobalInitialization_default.o): In function `SkPrivateEffectInitializer::Init()':
[PATH_OF_SKIA]/src/ports/SkGlobalInitialization_default.cpp:67: undefined reference to `SkArcToPathEffect::CreateProc(SkReadBuffer&)'
[PATH_OF_SKIA]/src/ports/SkGlobalInitialization_default.cpp:69: undefined reference to `SkBitmapSource::CreateProc(SkReadBuffer&)'
[PATH_OF_SKIA]/src/ports/SkGlobalInitialization_default.cpp:70: undefined reference to `SkBlurDrawLooper::CreateProc(SkReadBuffer&)'
[PATH_OF_SKIA]/src/ports/SkGlobalInitialization_default.cpp:71: undefined reference to `SkBlurImageFilter::CreateProc(SkReadBuffer&)'
[PATH_OF_SKIA]/src/ports/SkGlobalInitialization_default.cpp:72: undefined reference to `SkColorCubeFilter::CreateProc(SkReadBuffer&)'
[PATH_OF_SKIA]/src/ports/SkGlobalInitialization_default.cpp:73: undefined reference to `SkColorMatrixFilter::CreateProc(SkReadBuffer&)'
[PATH_OF_SKIA]/src/ports/SkGlobalInitialization_default.cpp:75: undefined reference to `SkComposePathEffect::CreateProc(SkReadBuffer&)'
[PATH_OF_SKIA]/src/ports/SkGlobalInitialization_default.cpp:77: undefined reference to `SkCornerPathEffect::CreateProc(SkReadBuffer&)'
[PATH_OF_SKIA]/src/ports/SkGlobalInitialization_default.cpp:78: undefined reference to `SkDashPathEffect::CreateProc(SkReadBuffer&)'
[PATH_OF_SKIA]/src/ports/SkGlobalInitialization_default.cpp:79: undefined reference to `SkDilateImageFilter::CreateProc(SkReadBuffer&)'
[PATH_OF_SKIA]/src/ports/SkGlobalInitialization_default.cpp:80: undefined reference to `SkDiscretePathEffect::CreateProc(SkReadBuffer&)'
[PATH_OF_SKIA]/src/ports/SkGlobalInitialization_default.cpp:81: undefined reference to `SkDisplacementMapEffect::CreateProc(SkReadBuffer&)'
[PATH_OF_SKIA]/src/ports/SkGlobalInitialization_default.cpp:82: undefined reference to `SkDropShadowImageFilter::CreateProc(SkReadBuffer&)'
[PATH_OF_SKIA]/src/ports/SkGlobalInitialization_default.cpp:83: undefined reference to `SkEmbossMaskFilter::CreateProc(SkReadBuffer&)'
[PATH_OF_SKIA]/src/ports/SkGlobalInitialization_default.cpp:85: undefined reference to `SkErodeImageFilter::CreateProc(SkReadBuffer&)'
[PATH_OF_SKIA]/src/ports/SkGlobalInitialization_default.cpp:86: undefined reference to `SkLayerDrawLooper::CreateProc(SkReadBuffer&)'
[PATH_OF_SKIA]/src/ports/SkGlobalInitialization_default.cpp:87: undefined reference to `SkLayerRasterizer::CreateProc(SkReadBuffer&)'
[PATH_OF_SKIA]/src/ports/SkGlobalInitialization_default.cpp:88: undefined reference to `SkLerpXfermode::CreateProc(SkReadBuffer&)'
[PATH_OF_SKIA]/src/ports/SkGlobalInitialization_default.cpp:89: undefined reference to `SkLocalMatrixShader::CreateProc(SkReadBuffer&)'
[PATH_OF_SKIA]/src/ports/SkGlobalInitialization_default.cpp:90: undefined reference to `SkLumaColorFilter::CreateProc(SkReadBuffer&)'
[PATH_OF_SKIA]/src/ports/SkGlobalInitialization_default.cpp:91: undefined reference to `SkPath1DPathEffect::CreateProc(SkReadBuffer&)'
[PATH_OF_SKIA]/src/ports/SkGlobalInitialization_default.cpp:92: undefined reference to `SkLine2DPathEffect::CreateProc(SkReadBuffer&)'
[PATH_OF_SKIA]/src/ports/SkGlobalInitialization_default.cpp:93: undefined reference to `SkModeColorFilter::CreateProc(SkReadBuffer&)'
[PATH_OF_SKIA]/src/ports/SkGlobalInitialization_default.cpp:94: undefined reference to `SkPath2DPathEffect::CreateProc(SkReadBuffer&)'
[PATH_OF_SKIA]/src/ports/SkGlobalInitialization_default.cpp:95: undefined reference to `SkPerlinNoiseShader::CreateProc(SkReadBuffer&)'
[PATH_OF_SKIA]/src/ports/SkGlobalInitialization_default.cpp:96: undefined reference to `SkPictureImageFilter::CreateProc(SkReadBuffer&)'
[PATH_OF_SKIA]/src/ports/SkGlobalInitialization_default.cpp:98: undefined reference to `SkPixelXorXfermode::CreateProc(SkReadBuffer&)'
[PATH_OF_SKIA]/src/ports/SkGlobalInitialization_default.cpp:99: undefined reference to `SkRectShaderImageFilter::CreateProc(SkReadBuffer&)'
[PATH_OF_SKIA]/src/ports/SkGlobalInitialization_default.cpp:100: undefined reference to `SkSumPathEffect::CreateProc(SkReadBuffer&)'
[PATH_OF_SKIA]/src/ports/SkGlobalInitialization_default.cpp:101: undefined reference to `SkTileImageFilter::CreateProc(SkReadBuffer&)'
[PATH_OF_SKIA]/src/ports/SkGlobalInitialization_default.cpp:103: undefined reference to `SkXfermodeImageFilter::CreateProc(SkReadBuffer&)'
[PATH_OF_SKIA]/src/ports/SkGlobalInitialization_default.cpp:104: undefined reference to `SkMagnifierImageFilter::CreateProc(SkReadBuffer&)'
[PATH_OF_SKIA]/src/ports/SkGlobalInitialization_default.cpp:105: undefined reference to `SkMatrixConvolutionImageFilter::CreateProc(SkReadBuffer&)'
[PATH_OF_SKIA]/src/ports/SkGlobalInitialization_default.cpp:107: undefined reference to `SkOffsetImageFilter::CreateProc(SkReadBuffer&)'
[PATH_OF_SKIA]/src/ports/SkGlobalInitialization_default.cpp:108: undefined reference to `SkComposeImageFilter::CreateProc(SkReadBuffer&)'
[PATH_OF_SKIA]/src/ports/SkGlobalInitialization_default.cpp:109: undefined reference to `SkMergeImageFilter::CreateProc(SkReadBuffer&)'
[PATH_OF_SKIA]/src/ports/SkGlobalInitialization_default.cpp:110: undefined reference to `SkColorFilterImageFilter::CreateProc(SkReadBuffer&)'
[PATH_OF_SKIA]/src/ports/SkGlobalInitialization_default.cpp:111: undefined reference to `SkDownSampleImageFilter::CreateProc(SkReadBuffer&)'
[PATH_OF_SKIA]/src/ports/SkGlobalInitialization_default.cpp:113: undefined reference to `SkArithmeticMode::InitializeFlattenables()'
[PATH_OF_SKIA]/src/ports/SkGlobalInitialization_default.cpp:114: undefined reference to `SkBlurMaskFilter::InitializeFlattenables()'
[PATH_OF_SKIA]/src/ports/SkGlobalInitialization_default.cpp:116: undefined reference to `SkGradientShader::InitializeFlattenables()'
[PATH_OF_SKIA]/src/ports/SkGlobalInitialization_default.cpp:117: undefined reference to `SkLightingImageFilter::InitializeFlattenables()'
[PATH_OF_SKIA]/src/ports/SkGlobalInitialization_default.cpp:118: undefined reference to `SkTableColorFilter::InitializeFlattenables()'
[PATH_OF_SKIA]/out64/Debug/libskia_ports.a(ports.SkDiscardableMemory_none.o): In function `SkDiscardableMemory::Create(unsigned long)':
[PATH_OF_SKIA]/src/ports/SkDiscardableMemory_none.cpp:12: undefined reference to `SkGetGlobalDiscardableMemoryPool()'
[PATH_OF_SKIA]/out64/Debug/libskia_ports.a(ports.SkFontMgr_fontconfig.o): In function `SkFontMgr_fontconfig::GetFamilyNames(_FcConfig*)':
[PATH_OF_SKIA]/src/ports/SkFontMgr_fontconfig.cpp:564: undefined reference to `SkDataTable::NewCopyArrays(void const* const*, unsigned long const*, int)'
[PATH_OF_SKIA]/out64/Debug/libskia_ports.a(ports.SkFontMgr_fontconfig.o): In function `char const* SkDataTable::atT<char const>(int, unsigned long*) const':
[PATH_OF_SKIA]/include/core/SkDataTable.h:52: undefined reference to `SkDataTable::at(int, unsigned long*) const'
[PATH_OF_SKIA]/out64/Debug/libskia_ports.a(ports.SkFontHost_FreeType.o): In function `SkTypeface_FreeType::onGetAdvancedTypefaceMetrics(SkTypeface::PerGlyphInfo, unsigned int const*, unsigned int) const':
[PATH_OF_SKIA]/src/ports/SkFontHost_FreeType.cpp:603: undefined reference to `SkAdvancedTypefaceMetrics::AdvanceMetric<short>* skia_advanced_typeface_metrics_utils::appendRange<short>(SkAutoTDelete<SkAdvancedTypefaceMetrics::AdvanceMetric<short> >*, int)'
[PATH_OF_SKIA]/src/ports/SkFontHost_FreeType.cpp:607: undefined reference to `void skia_advanced_typeface_metrics_utils::finishRange<short>(SkAdvancedTypefaceMetrics::AdvanceMetric<short>*, int, SkAdvancedTypefaceMetrics::AdvanceMetric<short>::MetricType)'
[PATH_OF_SKIA]/src/ports/SkFontHost_FreeType.cpp:609: undefined reference to `SkAdvancedTypefaceMetrics::AdvanceMetric<short>* skia_advanced_typeface_metrics_utils::appendRange<short>(SkAutoTDelete<SkAdvancedTypefaceMetrics::AdvanceMetric<short> >*, int)'
[PATH_OF_SKIA]/src/ports/SkFontHost_FreeType.cpp:624: undefined reference to `void skia_advanced_typeface_metrics_utils::finishRange<short>(SkAdvancedTypefaceMetrics::AdvanceMetric<short>*, int, SkAdvancedTypefaceMetrics::AdvanceMetric<short>::MetricType)'
[PATH_OF_SKIA]/src/ports/SkFontHost_FreeType.cpp:631: undefined reference to `SkAdvancedTypefaceMetrics::AdvanceMetric<short>* skia_advanced_typeface_metrics_utils::getAdvanceData<short, FT_FaceRec_*>(FT_FaceRec_*, int, unsigned int const*, unsigned int, bool (*)(FT_FaceRec_*, int, short*))'
[PATH_OF_SKIA]/out64/Debug/libskia_ports.a(ports.SkFontHost_FreeType.o): In function `SkTypeface_FreeType::Scanner::scanFont(SkStream*, int, SkString*, SkFontStyle*, bool*, SkSTArray<4, SkTypeface_FreeType::Scanner::AxisDefinition, true>*) const':
[PATH_OF_SKIA]/src/ports/SkFontHost_FreeType.cpp:1720: undefined reference to `SkStrLCSearch(char const* const*, int, char const*, unsigned long)'
[PATH_OF_SKIA]/out64/Debug/libskia_skgpu.a(skgpu.SkGr.o): In function `load_etc1_texture':
[PATH_OF_SKIA]/src/gpu/SkGr.cpp:304: undefined reference to `etc1_pkm_is_valid'
[PATH_OF_SKIA]/src/gpu/SkGr.cpp:305: undefined reference to `etc1_pkm_get_width'
[PATH_OF_SKIA]/src/gpu/SkGr.cpp:306: undefined reference to `etc1_pkm_get_height'
[PATH_OF_SKIA]/src/gpu/SkGr.cpp:318: undefined reference to `SkKTXFile::is_ktx(unsigned char const*)'
[PATH_OF_SKIA]/src/gpu/SkGr.cpp:322: undefined reference to `SkKTXFile::isCompressedFormat(SkTextureCompressor::Format) const'
[PATH_OF_SKIA]/out64/Debug/libskia_skgpu.a(skgpu.SkGr.o): In function `load_yuv_texture':
[PATH_OF_SKIA]/src/gpu/SkGr.cpp:357: undefined reference to `SkYUVPlanesCache::FindAndRef(unsigned int, SkYUVPlanesCache::Info*, SkResourceCache*)'
[PATH_OF_SKIA]/src/gpu/SkGr.cpp:397: undefined reference to `SkYUVPlanesCache::Add(unsigned int, SkCachedData*, SkYUVPlanesCache::Info*, SkResourceCache*)'
[PATH_OF_SKIA]/out64/Debug/libskia_skgpu.a(skgpu.SkGr.o): In function `SkKTXFile::SkKTXFile(SkData*)':
[PATH_OF_SKIA]/third_party/ktx/ktx.h:42: undefined reference to `SkKTXFile::readKTXFile(unsigned char const*, unsigned long)'
[PATH_OF_SKIA]/out64/Debug/libskia_skgpu.a(skgpu.GrGLCreateNativeInterface_glx.o): In function `glx_get':
[PATH_OF_SKIA]/src/gpu/gl/glx/GrGLCreateNativeInterface_glx.cpp:17: undefined reference to `glXGetCurrentContext'
[PATH_OF_SKIA]/src/gpu/gl/glx/GrGLCreateNativeInterface_glx.cpp:18: undefined reference to `glXGetProcAddress'
[PATH_OF_SKIA]/out64/Debug/libskia_skgpu.a(skgpu.GrGLCreateNativeInterface_glx.o): In function `GrGLCreateNativeInterface()':
[PATH_OF_SKIA]/src/gpu/gl/glx/GrGLCreateNativeInterface_glx.cpp:22: undefined reference to `glXGetCurrentContext'
[PATH_OF_SKIA]/out64/Debug/libskia_skgpu.a(skgpu.GrFontScaler.o): In function `GrFontScaler::getPackedGlyphDFImage(unsigned int, int, int, void*)':
[PATH_OF_SKIA]/src/gpu/GrFontScaler.cpp:218: undefined reference to `SkGenerateDistanceFieldFromA8Image(unsigned char*, unsigned char const*, int, int, unsigned long)'
[PATH_OF_SKIA]/src/gpu/GrFontScaler.cpp:224: undefined reference to `SkGenerateDistanceFieldFromBWImage(unsigned char*, unsigned char const*, int, int, unsigned long)'
[PATH_OF_SKIA]/out64/Debug/libskia_skgpu.a(skgpu.GrSWMaskHelper.o): In function `GrSWMaskHelper::toSDF(unsigned char*)':
[PATH_OF_SKIA]/src/gpu/GrSWMaskHelper.cpp:317: undefined reference to `SkGenerateDistanceFieldFromA8Image(unsigned char*, unsigned char const*, int, int, unsigned long)'
[PATH_OF_SKIA]/out64/Debug/libskia_skgpu.a(skgpu.GrAADistanceFieldPathRenderer.o): In function `AADistanceFieldPathBatch::addPathToAtlas(GrBatchTarget*, GrGeometryProcessor const*, GrPipeline const*, AADistanceFieldPathBatch::FlushInfo*, GrBatchAtlas*, GrAADistanceFieldPathRenderer::PathData*, SkPath const&, SkStrokeRec const&, bool, unsigned int, float)':
[PATH_OF_SKIA]/src/gpu/GrAADistanceFieldPathRenderer.cpp:408: undefined reference to `SkGenerateDistanceFieldFromA8Image(unsigned char*, unsigned char const*, int, int, unsigned long)'
[PATH_OF_SKIA]/out64/Debug/libskia_utils.a(utils.SkRTConf.o): In function `SkTDict<SkTDArray<SkRTConfBase*>*>::find_index(char const*, unsigned long) const':
[PATH_OF_SKIA]/include/core/SkTDict.h:139: undefined reference to `SkStrSearch(char const* const*, int, char const*, unsigned long, unsigned long)'
[PATH_OF_SKIA]/out64/Debug/libskia_utils.a(utils.SkTextureCompressor.o): In function `compress_etc1_565':
[PATH_OF_SKIA]/src/utils/SkTextureCompressor.cpp:28: undefined reference to `etc1_encode_image'
[PATH_OF_SKIA]/out64/Debug/libskia_utils.a(utils.SkTextureCompressor.o): In function `SkTextureCompressor::GetBlockDimensions(SkTextureCompressor::Format, int*, int*, bool)':
[PATH_OF_SKIA]/src/utils/SkTextureCompressor.cpp:43: undefined reference to `SkTextureCompressorGetPlatformDims(SkTextureCompressor::Format, int*, int*)'
[PATH_OF_SKIA]/out64/Debug/libskia_utils.a(utils.SkTextureCompressor.o): In function `SkTextureCompressor::CompressBufferToFormat(unsigned char*, unsigned char const*, SkColorType, int, int, unsigned long, SkTextureCompressor::Format, bool)':
[PATH_OF_SKIA]/src/utils/SkTextureCompressor.cpp:126: undefined reference to `SkTextureCompressorGetPlatformProc(SkColorType, SkTextureCompressor::Format)'
[PATH_OF_SKIA]/out64/Debug/libskia_utils.a(utils.SkTextureCompressor.o): In function `SkTextureCompressor::DecompressBufferFromFormat(unsigned char*, int, unsigned char const*, int, int, SkTextureCompressor::Format)':
[PATH_OF_SKIA]/src/utils/SkTextureCompressor.cpp:234: undefined reference to `etc1_decode_image'
+===========================================+
Is there any document or list or a way to know what are the exact libs I need to link in my simple Library?
I'm sorry for disturbing you, but I searched all over the Internet for the past couple of days to solve these problems, but I'm still stuck.