Salut!
Je croyais que lorsque l'on compilait une librairie en mode shared il ne fallait pas lier toutes les dépendances de cette librairie au projet, cependant, même si je la compile en shared, j'ai des undefined reference vers des fonctions dépendantes de cette lib...
Normalement, lorsque je compile SFML je n'ai pas besoin de lier toutes les dépendances de SFML au projet, même si je la compile en static, par contre, ça ne marche pas avec ma lib.
Pourquoi ? Mes fichiers cmake sont pourtant ceux de SFML, et j'ai défini une macro pour l'exportation des fonctions de la lib comme le fait SFML. J'en ai marre de devoir lier toutes les dépendances de ma lib au projet.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98 -------------- Build: Debug in ODFAEGDEMO (compiler: GNU GCC Compiler)--------------- g++-4.9 -o bin/Debug/ODFAEGDEMO obj/Debug/application.o obj/Debug/caracter.o obj/Debug/hero.o obj/Debug/main.o obj/Debug/monster.o obj/Debug/source.pp.o obj/Debug/test.o ../../../../usr/local/lib/libodfaeg-network.so ../../../../usr/local/lib/libodfaeg-audio.so ../../../../usr/local/lib/libodfaeg-graphics.so ../../../../usr/local/lib/libodfaeg-window.so ../../../../usr/local/lib/libodfaeg-core.so ../../../../usr/local/lib/libodfaeg-physics.so ../../../../usr/local/lib/libodfaeg-math.so ../../../../usr/local/lib/libsfml-network.so ../../../../usr/local/lib/libsfml-audio.so ../../../../usr/local/lib/libsfml-graphics.so ../../../../usr/local/lib/libsfml-window.so ../../../../usr/local/lib/libsfml-system.so obj/Debug/source.pp.o*: Dans la fonction «*std::_Tuple_impl<2ul>::_Tuple_impl()*»*: /home/laurent/Projets/ODFAEGDEMO/main.cpp:29*: définitions multiples de «*main*» obj/Debug/main.o:/home/laurent/Projets/ODFAEGDEMO/main.cpp:12*: défini pour la première fois ici ../../../../usr/local/lib/libodfaeg-network.so*: référence indéfinie vers «*__gmp_randinit_default*» ../../../../usr/local/lib/libodfaeg-graphics.so*: référence indéfinie vers «*__glewGetHandleARB*» ../../../../usr/local/lib/libodfaeg-network.so*: référence indéfinie vers «*__gmpz_urandomb*» ../../../../usr/local/lib/libodfaeg-graphics.so*: référence indéfinie vers «*__GLEW_EXT_blend_equation_separate*» ../../../../usr/local/lib/libodfaeg-audio.so*: référence indéfinie vers «*sf_read_short*» ../../../../usr/local/lib/libodfaeg-graphics.so*: référence indéfinie vers «*__glewBindBuffer*» ../../../../usr/local/lib/libodfaeg-graphics.so*: référence indéfinie vers «*__glewGetUniformLocation*» ../../../../usr/local/lib/libodfaeg-graphics.so*: référence indéfinie vers «*SDL_GL_DeleteContext*» ../../../../usr/local/lib/libodfaeg-graphics.so*: référence indéfinie vers «*__glewActiveTextureARB*» ../../../../usr/local/lib/libodfaeg-graphics.so*: référence indéfinie vers «*__GLEW_ARB_texture_non_power_of_two*» ../../../../usr/local/lib/libodfaeg-graphics.so*: référence indéfinie vers «*__glewUniform1iARB*» ../../../../usr/local/lib/libodfaeg-audio.so*: référence indéfinie vers «*sf_open*» ../../../../usr/local/lib/libodfaeg-graphics.so*: référence indéfinie vers «*glewExperimental*» ../../../../usr/local/lib/libodfaeg-graphics.so*: référence indéfinie vers «*__glewGetObjectParameterivARB*» ../../../../usr/local/lib/libodfaeg-graphics.so*: référence indéfinie vers «*__glewUniform4fARB*» ../../../../usr/local/lib/libodfaeg-graphics.so*: référence indéfinie vers «*__glewFramebufferTexture2DEXT*» ../../../../usr/local/lib/libodfaeg-network.so*: référence indéfinie vers «*__gmpz_get_str*» ../../../../usr/local/lib/libodfaeg-network.so*: référence indéfinie vers «*__gmpz_invert*» ../../../../usr/local/lib/libodfaeg-graphics.so*: référence indéfinie vers «*odfaeg::window::SDLWindow::SDLWindow()*» ../../../../usr/local/lib/libodfaeg-graphics.so*: référence indéfinie vers «*__glewGenBuffers*» ../../../../usr/local/lib/libodfaeg-graphics.so*: référence indéfinie vers «*__glewCreateProgramObjectARB*» ../../../../usr/local/lib/libodfaeg-graphics.so*: référence indéfinie vers «*glewGetErrorString*» ../../../../usr/local/lib/libodfaeg-graphics.so*: référence indéfinie vers «*__glewGetInfoLogARB*» ../../../../usr/local/lib/libodfaeg-graphics.so*: référence indéfinie vers «*__glewShaderSourceARB*» ../../../../usr/local/lib/libodfaeg-network.so*: référence indéfinie vers «*__gmpz_nextprime*» ../../../../usr/local/lib/libodfaeg-graphics.so*: référence indéfinie vers «*SDL_GL_SwapWindow*» ../../../../usr/local/lib/libodfaeg-audio.so*: référence indéfinie vers «*sf_strerror*» ../../../../usr/local/lib/libodfaeg-network.so*: référence indéfinie vers «*__gmpz_sizeinbase*» ../../../../usr/local/lib/libodfaeg-graphics.so*: référence indéfinie vers «*__glewFramebufferRenderbufferEXT*» ../../../../usr/local/lib/libodfaeg-graphics.so*: référence indéfinie vers «*__GLEW_ARB_shading_language_100*» ../../../../usr/local/lib/libodfaeg-network.so*: référence indéfinie vers «*__gmpz_gcd*» ../../../../usr/local/lib/libodfaeg-graphics.so*: référence indéfinie vers «*__glewCheckFramebufferStatusEXT*» ../../../../usr/local/lib/libodfaeg-graphics.so*: référence indéfinie vers «*__glewCreateShaderObjectARB*» ../../../../usr/local/lib/libodfaeg-graphics.so*: référence indéfinie vers «*__glewRenderbufferStorageEXT*» ../../../../usr/local/lib/libodfaeg-graphics.so*: référence indéfinie vers «*__glewBlendFuncSeparateEXT*» ../../../../usr/local/lib/libodfaeg-graphics.so*: référence indéfinie vers «*odfaeg::math::operator<<(std::ostream&, odfaeg::math::Vec2f const&)*» ../../../../usr/local/lib/libodfaeg-graphics.so*: référence indéfinie vers «*__glewDeleteObjectARB*» ../../../../usr/local/lib/libodfaeg-graphics.so*: référence indéfinie vers «*__GLEW_ARB_shader_objects*» ../../../../usr/local/lib/libodfaeg-graphics.so*: référence indéfinie vers «*__glewDeleteBuffers*» ../../../../usr/local/lib/libodfaeg-graphics.so*: référence indéfinie vers «*__glewGenRenderbuffersEXT*» ../../../../usr/local/lib/libodfaeg-graphics.so*: référence indéfinie vers «*__glewAttachObjectARB*» ../../../../usr/local/lib/libodfaeg-audio.so*: référence indéfinie vers «*sf_seek*» ../../../../usr/local/lib/libodfaeg-graphics.so*: référence indéfinie vers «*__glewBindRenderbufferEXT*» ../../../../usr/local/lib/libodfaeg-graphics.so*: référence indéfinie vers «*__glewDeleteFramebuffersEXT*» ../../../../usr/local/lib/libodfaeg-graphics.so*: référence indéfinie vers «*__GLEW_ARB_vertex_shader*» ../../../../usr/local/lib/libodfaeg-graphics.so*: référence indéfinie vers «*__glewGenFramebuffersEXT*» ../../../../usr/local/lib/libodfaeg-graphics.so*: référence indéfinie vers «*__glewMapBuffer*» ../../../../usr/local/lib/libodfaeg-network.so*: référence indéfinie vers «*__gmpz_sub*» ../../../../usr/local/lib/libodfaeg-network.so*: référence indéfinie vers «*__gmpz_init*» ../../../../usr/local/lib/libodfaeg-graphics.so*: référence indéfinie vers «*__glewGetUniformLocationARB*» ../../../../usr/local/lib/libodfaeg-graphics.so*: référence indéfinie vers «*__glewDeleteRenderbuffersEXT*» ../../../../usr/local/lib/libodfaeg-graphics.so*: référence indéfinie vers «*SDL_GL_CreateContext*» ../../../../usr/local/lib/libodfaeg-graphics.so*: référence indéfinie vers «*__glewUseProgramObjectARB*» ../../../../usr/local/lib/libodfaeg-graphics.so*: référence indéfinie vers «*__GLEW_ARB_vertex_buffer_object*» ../../../../usr/local/lib/libodfaeg-graphics.so*: référence indéfinie vers «*__glewBufferDataARB*» ../../../../usr/local/lib/libodfaeg-graphics.so*: référence indéfinie vers «*__glewBindFramebufferEXT*» ../../../../usr/local/lib/libodfaeg-graphics.so*: référence indéfinie vers «*SDL_GL_MakeCurrent*» ../../../../usr/local/lib/libodfaeg-graphics.so*: référence indéfinie vers «*__glewBindAttribLocationARB*» ../../../../usr/local/lib/libodfaeg-graphics.so*: référence indéfinie vers «*__GLEW_ARB_fragment_shader*» ../../../../usr/local/lib/libodfaeg-graphics.so*: référence indéfinie vers «*__glewCompileShaderARB*» ../../../../usr/local/lib/libodfaeg-graphics.so*: référence indéfinie vers «*odfaeg::window::SDLWindow::create(unsigned int, unsigned int, std::string)*» ../../../../usr/local/lib/libodfaeg-graphics.so*: référence indéfinie vers «*odfaeg::graphic::TransformMatrix::setRotation(int)*» ../../../../usr/local/lib/libodfaeg-graphics.so*: référence indéfinie vers «*__glewGenVertexArrays*» ../../../../usr/local/lib/libodfaeg-graphics.so*: référence indéfinie vers «*__glewUnmapBuffer*» ../../../../usr/local/lib/libodfaeg-graphics.so*: référence indéfinie vers «*__GLEW_EXT_blend_func_separate*» ../../../../usr/local/lib/libodfaeg-graphics.so*: référence indéfinie vers «*__glewGetAttribLocationARB*» ../../../../usr/local/lib/libodfaeg-graphics.so*: référence indéfinie vers «*__glewUniform1fARB*» ../../../../usr/local/lib/libodfaeg-network.so*: référence indéfinie vers «*__gmpz_set_str*» ../../../../usr/local/lib/libodfaeg-graphics.so*: référence indéfinie vers «*__glewBindImageTextures*» ../../../../usr/local/lib/libodfaeg-graphics.so*: référence indéfinie vers «*__GLEW_EXT_framebuffer_object*» ../../../../usr/local/lib/libodfaeg-network.so*: référence indéfinie vers «*__gmpz_powm*» ../../../../usr/local/lib/libodfaeg-graphics.so*: référence indéfinie vers «*__glewUniform3fARB*» ../../../../usr/local/lib/libodfaeg-graphics.so*: référence indéfinie vers «*SDL_GL_SetAttribute*» ../../../../usr/local/lib/libodfaeg-network.so*: référence indéfinie vers «*__gmpz_cmp*» ../../../../usr/local/lib/libodfaeg-network.so*: référence indéfinie vers «*__gmpz_get_si*» ../../../../usr/local/lib/libodfaeg-graphics.so*: référence indéfinie vers «*odfaeg::window::SDLWindow::~SDLWindow()*» ../../../../usr/local/lib/libodfaeg-audio.so*: référence indéfinie vers «*sf_open_virtual*» ../../../../usr/local/lib/libodfaeg-graphics.so*: référence indéfinie vers «*__glewBlendEquation*» ../../../../usr/local/lib/libodfaeg-graphics.so*: référence indéfinie vers «*__glewBlendEquationSeparateEXT*» ../../../../usr/local/lib/libodfaeg-audio.so*: référence indéfinie vers «*sf_close*» ../../../../usr/local/lib/libodfaeg-graphics.so*: référence indéfinie vers «*typeinfo for odfaeg::window::SDLWindow*» ../../../../usr/local/lib/libodfaeg-graphics.so*: référence indéfinie vers «*__glewLinkProgramARB*» ../../../../usr/local/lib/libodfaeg-graphics.so*: référence indéfinie vers «*__glewBindVertexArray*» ../../../../usr/local/lib/libodfaeg-network.so*: référence indéfinie vers «*__gmpz_mul*» ../../../../usr/local/lib/libodfaeg-audio.so*: référence indéfinie vers «*sf_write_short*» ../../../../usr/local/lib/libodfaeg-graphics.so*: référence indéfinie vers «*glewInit*» ../../../../usr/local/lib/libodfaeg-graphics.so*: référence indéfinie vers «*__glewUniformMatrix4fvARB*» ../../../../usr/local/lib/libodfaeg-graphics.so*: référence indéfinie vers «*__glewUniform2fARB*» ../../../../usr/local/lib/libodfaeg-network.so*: référence indéfinie vers «*__gmpz_set_si*» collect2: error: ld returned 1 exit status
Partager