Partage
  • Partager sur Facebook
  • Partager sur Twitter

linker une librairie avec gcc

    31 mai 2016 à 9:25:49

    Bonjour, j'aimerais utiliser la csfml mais je galère de ouf a linker la librairie (c'est ma première fois ^^ )

    je vous montre mon Makefile

    CSRCS		= $(SDIR)main.c
    
    CSRCS		+= $(TOOLSRCS)
    
    CFLAGS		= -Wall -Werror -Wextra -Iincludes/
    
    LDFLAGS		+= -L/usr/local/lib -lsfml-graphics -lsfml-window -lsfml-system -lsfml-audio -lcsfml-graphics  -lcsfml-window -lcsfml-system  -lcsfml-audio -lm
    
    COBJS		= $(CSRCS:.c=.o)
    
    all		: $(NAME)
    
    $(NAME)		: $(COBJS)
    		  $(CC) -o $(NAME) $(COBJS) $(LDFLAGS)
    
    clean		:
    		  $(RM) $(COBJS)
    
    fclean		: clean
    	  	  $(RM) $(NAME)
    
    re		: fclean all
    
    .PHONY		: all clean fclean re
    

    et l'output de la compilation, ainsi que l'output d'un ls dans /usr/local/lib/

    gcc -o agent_42 srcs/main.o srcs/tools/tools_files/get_next_line.o srcs/tools/tools_files/check_read_file.o srcs/tools/tools_files/check_write_file.o srcs/tools/tools_files/check_write_read_file.o srcs/tools/tools_chars/char_expected_is_here.o srcs/tools/tools_chars/how_many_of_this_char.o srcs/tools/tools_chars/is_a_valid_char_regex.o srcs/tools/tools_chars/pos_of_the_last_char.o srcs/tools/tools_chars/is_a_valid_char.o srcs/tools/tools_chars/last_char_is.o srcs/tools/tools_chars/pos_of_the_n_char.o srcs/tools/tools_strings/bool_string.o srcs/tools/tools_chars/test_occurence_char.o srcs/tools/tools_ints/my_getnbrs.o srcs/tools/tools_ints/my_get_float.o srcs/tools/tools_ints/my_putnbrs.o srcs/tools/tools_ints/fill_every_int.o srcs/tools/tools_returns/returns_err_char.o srcs/tools/tools_tabs/bool_tab.o srcs/tools/tools_tabs/cat_mult_strings.o srcs/tools/tools_tabs/count_occstr_in_tab.o srcs/tools/tools_tabs/count_strings_in_tab.o srcs/tools/tools_tabs/wordtab_lenchar.o srcs/tools/tools_tabs/count_strings_in_tab_seps.o srcs/tools/tools_tabs/delete_element_in_tab.o srcs/tools/tools_tabs/free_tab_strings.o srcs/tools/tools_tabs/check_brim_tab.o srcs/tools/tools_tabs/my_swap_from_to.o srcs/tools/tools_tabs/my_tab_cpys.o srcs/tools/tools_tabs/split_two_to_three_seps.o srcs/tools/tools_tabs/tab_full_of_null.o srcs/tools/tools_tabs/tab_is_empty.o srcs/tools/tools_unsigned_ints/tools_u.o srcs/tools/tools_wordtabs/my_str_to_wordtab.o srcs/tools/tools_wordtabs/my_str_n_to_wordtab.o srcs/tools/tools_wordtabs/my_str_to_wordtab_op.o srcs/tools/tools_strings/alternate_char_bool.o srcs/tools/tools_strings/alternate_int.o srcs/tools/tools_strings/char_following_itself.o srcs/tools/tools_strings/check_borders_disallowed.o srcs/tools/tools_strings/check_borders_needed.o srcs/tools/tools_strings/my_strlen_op.o srcs/tools/tools_strings/end_str_bool.o srcs/tools/tools_strings/count_digit.o srcs/tools/tools_strings/fill_my_str.o srcs/tools/tools_strings/fill_my_tab.o srcs/tools/tools_strings/format_subs_str.o srcs/tools/tools_strings/full_of_int_bool.o srcs/tools/tools_strings/is_emptys.o srcs/tools/tools_strings/my_putstr_printable.o srcs/tools/tools_strings/my_put_tabchar.o srcs/tools/tools_strings/my_strcmps.o srcs/tools/tools_strings/my_strcpys.o srcs/tools/tools_strings/my_strdups.o srcs/tools/tools_strings/my_strlen.o srcs/tools/tools_strings/str_in_list.o srcs/tools/tools_strings/str_in_tab.o srcs/tools/tools_strings/valid_str.o srcs/tools/tools_strings/valid_str_regex.o srcs/tools/tools_opts/default_opts.o srcs/tools/tools_opts/check_opts.o srcs/tools/tools_opts/check_this_opt.o srcs/tools/tools_opts/check_long_opt.o srcs/tools/tools_opts/check_long_args_numeric.o srcs/tools/tools_opts/check_long_args_filepath_read.o srcs/tools/tools_opts/check_long_args_filepath_write.o srcs/tools/tools_opts/check_long_args_filepath_write_read.o srcs/tools/tools_opts/check_long_args_any_float.o srcs/tools/tools_opts/check_long_args_one_dig_float.o srcs/tools/tools_opts/check_long_args_two_dig_float.o srcs/tools/tools_opts/opt_long_inexistant.o srcs/tools/tools_opts/format_long_not_bool.o srcs/tools/tools_opts/format_long_bool.o srcs/tools/tools_opts/check_short_opt.o srcs/tools/tools_opts/check_short_args_numeric.o srcs/tools/tools_opts/check_short_args_filepath_read.o srcs/tools/tools_opts/check_short_args_filepath_write.o srcs/tools/tools_opts/check_short_args_filepath_write_read.o srcs/tools/tools_opts/check_short_args_any_float.o srcs/tools/tools_opts/check_short_args_one_dig_float.o srcs/tools/tools_opts/check_short_args_two_dig_float.o srcs/tools/tools_opts/fill_opts_v.o -L/usr/local/lib -lsfml-graphics -lsfml-window -lsfml-system -lsfml-audio -lcsfml-graphics  -lcsfml-window -lcsfml-system  -lcsfml-audio -lm
    /usr/local/lib/libcsfml-graphics.so: référence indéfinie vers « sf::ConvexShape::ConvexShape(unsigned long) »
    /usr/local/lib/libcsfml-graphics.so: référence indéfinie vers « sf::Texture::getNativeHandle() const »
    /usr/local/lib/libcsfml-graphics.so: référence indéfinie vers « sf::CircleShape::setPointCount(unsigned long) »
    /usr/local/lib/libcsfml-graphics.so: référence indéfinie vers « sf::ConvexShape::getPoint(unsigned long) const »
    /usr/local/lib/libcsfml-graphics.so: référence indéfinie vers « sf::VertexArray::resize(unsigned long) »
    /usr/local/lib/libcsfml-graphics.so: référence indéfinie vers « sf::RectangleShape::getPoint(unsigned long) const »
    /usr/local/lib/libcsfml-graphics.so: référence indéfinie vers « sf::CircleShape::getPoint(unsigned long) const »
    /usr/local/lib/libcsfml-graphics.so: référence indéfinie vers « sf::CircleShape::CircleShape(float, unsigned long) »
    /usr/local/lib/libcsfml-graphics.so: référence indéfinie vers « sf::ConvexShape::setPointCount(unsigned long) »
    /usr/local/lib/libcsfml-graphics.so: référence indéfinie vers « sf::Shader::getNativeHandle() const »
    /usr/local/lib/libcsfml-graphics.so: référence indéfinie vers « sf::VertexArray::operator[](unsigned long) »
    /usr/local/lib/libcsfml-graphics.so: référence indéfinie vers « sf::RenderTarget::draw(sf::Vertex const*, unsigned long, sf::PrimitiveType, sf::RenderStates const&) »
    /usr/local/lib/libcsfml-graphics.so: référence indéfinie vers « sf::ConvexShape::setPoint(unsigned long, sf::Vector2<float> const&) »
    collect2: error: ld returned 1 exit status
    Makefile:139: recipe for target 'agent_42' failed
    make: *** [agent_42] Error 1
    
    [~/agent_42]$ ls /usr/local/lib                                                                                                                     *[master] 
    libcsfml-audio.so           libcsfml-network.so.2.3.0  libsfml-audio.so.2.2       libsfml-graphics.so.2.3.2  libsfml-system.so.2.2.0  pkgconfig
    libcsfml-audio.so.2.3       libcsfml-system.so         libsfml-audio.so.2.2.0     libsfml-network.so         libsfml-system.so.2.3    python2.7
    libcsfml-audio.so.2.3.0     libcsfml-system.so.2.3     libsfml-audio.so.2.3       libsfml-network.so.2.2     libsfml-system.so.2.3.2  python3.4
    libcsfml-graphics.so        libcsfml-system.so.2.3.0   libsfml-audio.so.2.3.2     libsfml-network.so.2.2.0   libsfml-window.so
    libcsfml-graphics.so.2.3    libcsfml-window.so         libsfml-graphics.so        libsfml-network.so.2.3     libsfml-window.so.2.2
    libcsfml-graphics.so.2.3.0  libcsfml-window.so.2.3     libsfml-graphics.so.2.2    libsfml-network.so.2.3.2   libsfml-window.so.2.2.0
    libcsfml-network.so         libcsfml-window.so.2.3.0   libsfml-graphics.so.2.2.0  libsfml-system.so          libsfml-window.so.2.3
    libcsfml-network.so.2.3     libsfml-audio.so           libsfml-graphics.so.2.3    libsfml-system.so.2.2      libsfml-window.so.2.3.2
    [~/agent_42]$           

    voilà... je sais j'ai 15k version de la sfml mais j'ai un peu tout tenter et jy arrive vraiment pas.. yé souis un caca..

    ah oui aussi ma variable d'environnement LD_LIBRARY_PATH:

    LD_LIBRARY_PATH=/usr/local/lib/:
    
    • Partager sur Facebook
    • Partager sur Twitter

    linker une librairie avec gcc

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown