undefined reference to 'SkArcToPathEffect::CreateProc'
Bonjour à tous,
Je viens de compiler Skia avec succès. Et les exemples fournie fonctionne.
Le problème (sauf erreur de ma part) c'est qu'il n'y a pas de .so/.dll (comme dans les version précédente j'ai entendu dire) mais seulement des archive .a du coup je n'arrive pas à l'utiliser.
J'ai fait un programme:
Code:
1 2 3 4 5 6 7
| #include <core/SkCanvas.h>
int
main (int argc, char *argv[])
{
SkCanvas canvas;
return 0;
} |
Mais j'obtien l'erreur:
Citation:
out/Debug/libskia_ports.a(ports.SkGlobalInitialization_default.o): In function `SkPrivateEffectInitializer::Init()':
out/Debug/../../src/ports/SkGlobalInitialization_default.cpp:66: undefined reference to `SkArcToPathEffect::CreateProc(SkReadBuffer&)'
Quand je regarde les sources, il me semble que cette fonction est définie:
Code:
1 2 3 4 5 6
| // @file https://github.com/google/skia/blob/master/include/effects/SkArcToPathEffect.h
class SK_API SkArcToPathEffect : public SkPathEffect {
...
SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkArcToPathEffect)
...
} |
Via
Code:
1 2 3 4 5 6 7
| // @file https://github.com/google/skia/blob/master/include/core/SkFlattenable.h
#define SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(flattenable) \
private: \
static SkFlattenable* CreateProc(SkReadBuffer&); \
friend class SkPrivateEffectInitializer; \
public: \
Factory getFactory() const SK_OVERRIDE { return CreateProc; } |
Ma question est : Que dois-je faire pour que ca marche s'il vous plais ?
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
| ## Process this file with automake to produce Makefile.in
skia_cflags= \
-I/home/haier/Workspace/chromium/skia/include/ \
-I/home/haier/Workspace/chromium/skia/include/config \
-I/home/haier/Workspace/chromium/skia/include/ \
-I/home/haier/Workspace/chromium/skia/include/animator \
-I/home/haier/Workspace/chromium/skia/include/c \
-I/home/haier/Workspace/chromium/skia/include/config \
-I/home/haier/Workspace/chromium/skia/include/core \
-I/home/haier/Workspace/chromium/skia/include/device \
-I/home/haier/Workspace/chromium/skia/include/effects \
-I/home/haier/Workspace/chromium/skia/include/gpu \
-I/home/haier/Workspace/chromium/skia/include/images \
-I/home/haier/Workspace/chromium/skia/include/pathops \
-I/home/haier/Workspace/chromium/skia/include/pdf \
-I/home/haier/Workspace/chromium/skia/include/pipe \
-I/home/haier/Workspace/chromium/skia/include/ports \
-I/home/haier/Workspace/chromium/skia/include/svg \
-I/home/haier/Workspace/chromium/skia/include/utils \
-I/home/haier/Workspace/chromium/skia/include/views \
-I/home/haier/Workspace/chromium/skia/include/xml
skia_libs= \
/home/haier/Workspace/chromium/skia/out/Debug/libskia_animator.a \
/home/haier/Workspace/chromium/skia/out/Debug/libskia_core.a \
/home/haier/Workspace/chromium/skia/out/Debug/libskia_effects.a \
/home/haier/Workspace/chromium/skia/out/Debug/libskia_images.a \
/home/haier/Workspace/chromium/skia/out/Debug/libskia_opts.a \
/home/haier/Workspace/chromium/skia/out/Debug/libskia_opts_sse41.a \
/home/haier/Workspace/chromium/skia/out/Debug/libskia_opts_ssse3.a \
/home/haier/Workspace/chromium/skia/out/Debug/libskia_pdf.a \
/home/haier/Workspace/chromium/skia/out/Debug/libskia_ports.a \
/home/haier/Workspace/chromium/skia/out/Debug/libskia_sfnt.a \
/home/haier/Workspace/chromium/skia/out/Debug/libskia_skgpu.a \
/home/haier/Workspace/chromium/skia/out/Debug/libskia_skgputest.a \
/home/haier/Workspace/chromium/skia/out/Debug/libskia_utils.a \
/home/haier/Workspace/chromium/skia/out/Debug/libskia_views.a \
/home/haier/Workspace/chromium/skia/out/Debug/libskia_xml.a
AM_CPPFLAGS = \
$(skia_cflags)
AM_CFLAGS = \
-Wall\
-g
bin_PROGRAMS = useskia
useskia_SOURCES = \
main.cpp
useskia_LDFLAGS = \
-Wl,--export-dynamic -pthread
useskia_LDADD = \
$(skia_libs) |