Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
801 connectés 

  FORUM HardWare.fr
  Programmation
  C

  Erreur de Link : Undefined reference to...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Erreur de Link : Undefined reference to...

n°1552110
kirius
Posté le 02-05-2007 à 10:53:33  profilanswer
 

Salut à tous !
 
Je tente désespérément de compiler et linker un programme avec gcc. Je souhaite utiliser la librairie libmad (qui permet de décoder du mpeg), mais j'ai un problème lors de l'édition des liens.
 
Toutes les fonctions de la librairie libmad ne sont pas trouvées, et les erreurs "undefined reference to nom_fonction" apparaissent. J'utilise l'archive libmad.a, et après avoir utilisé la commande nm de mingw, tous les symboles de la librarie apparaissent avec un '_' devant. Par exemple, la fonction "mad_stream_init()" déclarée dans le .h devient _mad_stream_init dans l'archive  :pt1cable: .
 
Se peut-il que le problème d'édition de liens vienne de là, ou alors ça n'a vraiment aucun rapport ?  :??:

mood
Publicité
Posté le 02-05-2007 à 10:53:33  profilanswer
 

n°1552183
jeriko6911
Posté le 02-05-2007 à 11:41:30  profilanswer
 

Passe sous windows. De rien.

n°1552220
kirius
Posté le 02-05-2007 à 12:12:00  profilanswer
 

En fait, je suis déjà sous Windows :D
J'utilise devkitPro et mingw pour compiler..
Bon je reconnait que visual c'est plus simple pour mettre en place un projet, mais je n'est pas le choix pour la plateforme de développement :S
 
Merci pour la réponse ;)

n°1552222
kirius
Posté le 02-05-2007 à 12:14:17  profilanswer
 

Je suis ouvert à tout autre suggestion

n°1552540
matafan
Posté le 02-05-2007 à 18:05:53  profilanswer
 

Passe sous Linux.

n°1552541
matafan
Posté le 02-05-2007 à 18:07:04  profilanswer
 

Sérieusement, tu as spécifié les bons -l et -L ?

n°1552542
Elmoricq
Modérateur
Posté le 02-05-2007 à 18:14:36  profilanswer
 

jeriko6911 a écrit :

Passe sous windows. De rien.


 
Fig. 1c : je suis content que Harko t'ait banni.  http://gatsu.ftp.free.fr/smileys/cerveau_hahaguy.gif

n°1552574
kirius
Posté le 02-05-2007 à 20:07:42  profilanswer
 

Oui, Les répertoires sont bien définis avec -L, et les librairies aussi. Pour lier avec l'archive librairie libmad, j'ai juste ajouté -l lmad , ce qui fonctionne avec mingw.

n°1552603
Elmoricq
Modérateur
Posté le 02-05-2007 à 20:55:49  profilanswer
 

Le fichier s'appelle liblmad.so ? (ou .dll en l'occurrence)


Message édité par Elmoricq le 02-05-2007 à 20:56:12
n°1552862
kirius
Posté le 03-05-2007 à 02:30:02  profilanswer
 

non, j'utilise l'archive libmad.a
 
Je viens d'essayer de compiler et de linker, avc gcc, un bout de code (utilisant seulement des fonctions standards et des fonctions de la librairie libmad) utilisant les fonctions de la librairie, et je n'ai pas eu de problème.
 
Le problème viendrai surement du Makefile, que j'utilise pour builder l'ensemble du projet. Pour ceux qui connaissent, J'essai de compiler un homebrew (nom qui fait style pour dire que c'est programme DS) pour Nintendo DS avec devkitPro, la libnds, et la palib.
 
Des projets sont fournis à titres d'exemple, et il n'y a pas de problème lors du build. J'ai complété le makefile d'un projet existant pour linker avec la librairie libmad. Les chemins sont correctement configurés (avec -L) et la librairie est ajoutée avec -lmad (Je me suis planté dans mon précédent poste quand je disais que j'ai ajouté la librairie avec -l lmad).
 
L'erreur provient surement du Makefile, car lors du build, les erreurs qui apparaissent sont les erreurs typiques que l'on a lorsque la librairie n'est pas trouvée.

mood
Publicité
Posté le 03-05-2007 à 02:30:02  profilanswer
 

n°1552864
kirius
Posté le 03-05-2007 à 02:34:02  profilanswer
 

Vous voulez peut être voir la tête du Makefile ?

n°1552875
Elmoricq
Modérateur
Posté le 03-05-2007 à 06:30:53  profilanswer
 

Si ton fichier s'appelle "libmad.a", alors il faut écrire "-lmad", et non "-l lmad".

 

edit : j'étais mal réveillé ce matin, tu peux ignorer ce message [:dawa]


Message édité par Elmoricq le 03-05-2007 à 09:26:39
n°1552886
matafan
Posté le 03-05-2007 à 08:19:33  profilanswer
 

Oui montre le makefile, ça peut pas faire de mal.

n°1553007
kirius
Posté le 03-05-2007 à 10:59:00  profilanswer
 

Voila la bête :  
 

Code :
  1. PROGNAME =PAlib
  2. OFILES   +=
  3. ADD_LIBS +=
  4. PATH   := $(DEVKITARM)/bin:$(PATH)
  5. ARM7BIN  := -7 $(PAPATH)/lib/arm7/arm7.bin
  6. TEXT1   := PAlib Project
  7. TEXT2   := using PAlib
  8. TEXT3   := www.palib.info
  9. ICON   := -b $(CURDIR)/../logo.bmp
  10. LOGO  := -o $(CURDIR)/../logo_wifi.bmp
  11. #---------------------------------------------------------------------------------
  12. .SUFFIXES:
  13. #---------------------------------------------------------------------------------
  14. ifeq ($(strip $(DEVKITARM)),)
  15. $(error "Please set DEVKITARM in your environment." export DEVKITARM=<path to>devkitARM)
  16. endif
  17. include $(DEVKITARM)/ds_rules
  18. #---------------------------------------------------------------------------------
  19. # TARGET is the name of the output, if this ends with _mb generates a multiboot image
  20. # BUILD is the directory where object files & intermediate files will be placed
  21. # SOURCES is a list of directories containing source code
  22. # INCLUDES is a list of directories containing extra header files
  23. #---------------------------------------------------------------------------------
  24. TARGET := $(shell basename $(CURDIR))
  25. BUILD  := build
  26. SOURCES := gfx source data
  27. INCLUDES := include build data
  28. EXPORT_DIR := /c/ndsexamples/
  29. #---------------------------------------------------------------------------------
  30. # ARM7BIN is the path to an arm7 binary other than the default
  31. # usage: ARM7BIN := -7 binaryName.bin
  32. #
  33. # ICON is the path to an icon to be used int the header plus text
  34. # usage: ICON := -t iconName.bmp "text line one; text line 2; text line 3"
  35. #
  36. #---------------------------------------------------------------------------------
  37. #---------------------------------------------------------------------------------
  38. # options for code generation
  39. #---------------------------------------------------------------------------------
  40. ARCH := -mthumb-interwork
  41. # note: arm9tdmi isn't the correct CPU arch, but anything newer and LD
  42. # *insists* it has a FPU or VFP, and it won't take no for an answer!
  43. CFLAGS := -g  -Wformat=2 -Winline -Wall -O2\
  44.   -mcpu=arm946e-s -mtune=arm946e-s -fomit-frame-pointer\
  45.  -ffast-math \
  46.  $(ARCH)
  47. CFLAGS += $(INCLUDE) -DARM9 -I$(DEVKITPRO)/PAlib/include/nds -I$(DEVKITARM)/include
  48. ASFLAGS := -g $(ARCH)
  49. LDFLAGS := -g $(ARCH) -mno-fpu -L$(DEVKITPRO)/PAlib/lib -L$(DEVKITARM)/lib
  50. #---------------------------------------------------------------------------------
  51. # path to tools - this can be deleted if you set the path in windows
  52. #---------------------------------------------------------------------------------
  53. # export PATH  := /d/dev/ds/devkitARM_r11/bin:/bin
  54. #---------------------------------------------------------------------------------
  55. # PATH to ndslib - just make a system variable called NDSLIBPATH and be done with it
  56. #---------------------------------------------------------------------------------
  57. # NDSLIBPATH := /d/dev/ds/ndslib/
  58. #---------------------------------------------------------------------------------
  59. # the prefix on the compiler executables
  60. #---------------------------------------------------------------------------------
  61. PREFIX   := arm-eabi-
  62. #---------------------------------------------------------------------------------
  63. # any extra libraries we wish to link with the project
  64. #---------------------------------------------------------------------------------
  65. LIBS := -lfat -lnds9 -ldswifi9
  66. LIBSPA := -lpa9
  67. LIBSMAD := -lmad
  68. #---------------------------------------------------------------------------------
  69. # list of directories containing libraries, this must be the top level containing
  70. # include and lib
  71. #---------------------------------------------------------------------------------
  72. LIBDIRS := $(DEVKITPRO)/libnds
  73. LIBDIRPA := $(PAPATH)
  74. LIBDIRMAD := $(DEVKITPRO)/libmad
  75. #---------------------------------------------------------------------------------
  76. # no real need to edit anything past this point unless you need to add additional
  77. # rules for different file extensions
  78. #---------------------------------------------------------------------------------
  79. ifneq ($(BUILD),$(notdir $(CURDIR)))
  80. #---------------------------------------------------------------------------------
  81. export OUTPUT := $(CURDIR)/$(TARGET)
  82. export VPATH := $(foreach dir,$(SOURCES),$(CURDIR)/$(dir))
  83. export CC  := $(PREFIX)gcc
  84. export CXX  := $(PREFIX)g++
  85. export AR  := $(PREFIX)ar
  86. export OBJCOPY := $(PREFIX)objcopy
  87. #---------------------------------------------------------------------------------
  88. # use CXX for linking C++ projects, CC for standard C
  89. #---------------------------------------------------------------------------------
  90. #export LD  := $(CXX)
  91. export LD  := $(CC)
  92. CFILES  := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.c)))
  93. CPPFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.cpp)))
  94. SFILES  := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.s)))
  95. PCXFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.pcx)))
  96. BINFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.bin)))
  97. PALFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.pal)))
  98. RAWFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.raw)))
  99. MAPFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.map)))
  100. JPEGFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.jpg)))
  101. MODFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.mod)))
  102. GIFFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.gif)))
  103. BMPFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.bmp)))
  104.  
  105. export OFILES := $(MAPFILES:.map=.o) $(RAWFILES:.raw=.o) $(PALFILES:.pal=.o) $(BINFILES:.bin=.o) $(PCXFILES:.pcx=.o) $(JPEGFILES:.jpg=.o) $(MODFILES:.mod=.o) $(GIFFILES:.gif=.o) $(BMPFILES:.bmp=.o)\
  106.     $(CPPFILES:.cpp=.o) $(CFILES:.c=.o) $(SFILES:.s=.o)
  107.  
  108. export INCLUDE := $(foreach dir,$(INCLUDES),-I$(CURDIR)/$(dir)) \
  109.     $(foreach dir,$(LIBDIRS),-I$(dir)/include) \
  110.     $(foreach dir,$(LIBDIRS),-I$(dir)/include/nds) \
  111.     $(foreach dir,$(LIBDIRMAD),-I$(dir)/include) \
  112.     -I$(PAPATH)/include/nds\
  113.     -I$(CURDIR)/$(BUILD)
  114.  
  115. export LIBPATHS := $(foreach dir,$(LIBDIRS),-L$(dir)/lib)
  116. export LIBPATHPA := $(foreach dir,$(LIBDIRPA),-L$(dir)/lib)
  117. export LIBPATHMAD := $(foreach dir,$(LIBDIRMAD),-L$(dir)/lib)
  118.  
  119. .PHONY: $(BUILD) clean export
  120.  
  121. #---------------------------------------------------------------------------------
  122. $(BUILD):
  123. @[ -d $@ ] || mkdir -p $@
  124. @make --no-print-directory -C $(BUILD) -f $(CURDIR)/Makefile
  125.  
  126. #---------------------------------------------------------------------------------
  127. clean:
  128. @echo clean ...$(TARGET)
  129. @rm -fr $(BUILD) *.elf *.*ds*
  130.  
  131. export:
  132. @echo exporting ...$(TARGET)
  133. @cp *.nds $(EXPORT_DIR)/$(TARGET).nds
  134. #---------------------------------------------------------------------------------
  135. else
  136.  
  137. DEPENDS := $(OFILES:.o=.d)
  138.  
  139. #---------------------------------------------------------------------------------
  140. # main targets
  141. #---------------------------------------------------------------------------------
  142. $(OUTPUT).ds.gba :  $(OUTPUT).nds
  143. $(OUTPUT).nds :  $(OUTPUT).bin
  144. $(OUTPUT).bin : $(OUTPUT).elf
  145.  
  146. $(OUTPUT).elf : $(OFILES)
  147.  
  148. #---------------------------------------------------------------------------------
  149. %.ds.gba: %.nds
  150. @echo built ... $(notdir $@)
  151. @dsbuild $<  
  152. @cp $(CURDIR)/../$(notdir $@) ../$(notdir $(OUTPUT)).sc.nds  
  153. #---------------------------------------------------------------------------------
  154. %.nds: %.bin
  155.  
  156. @ndstool -c $@ -9 $(TARGET).bin $(ARM7BIN) $(LOGO) $(ICON) "$(TEXT1);$(TEXT2);$(TEXT3)"
  157. #---------------------------------------------------------------------------------
  158. %.bin: %.elf
  159.  
  160. @$(OBJCOPY) -O binary $(TARGET).elf $(TARGET).bin
  161.  
  162. #---------------------------------------------------------------------------------
  163. %.elf:
  164. @echo $(LD)  $(LDFLAGS) -specs=ds_arm9.specs $(OFILES) $(LIBPATHMAD) $(LIBSMAD) $(LIBPATHPA) $(LIBSPA) $(LIBPATHS) $(LIBS) -o $(TARGET).elf
  165. @$(LD)  $(LDFLAGS) -specs=ds_arm9.specs $(OFILES) $(LIBPATHMAD) $(LIBSMAD) $(LIBPATHPA) $(LIBSPA) $(LIBPATHS) $(LIBS) -o $(TARGET).elf
  166.  
  167.  
  168.  
  169. #---------------------------------------------------------------------------------
  170. # Compile Targets for C/C++
  171. #---------------------------------------------------------------------------------
  172.  
  173. #---------------------------------------------------------------------------------
  174. %.o : %.cpp
  175. @echo $(notdir $< )
  176. @$(CXX) -MM $(CFLAGS) -o $*.d $<
  177. @$(CXX) $(CFLAGS) -c $< -o$@
  178.  
  179. #---------------------------------------------------------------------------------
  180. %.o : %.c
  181. @echo $(notdir $< )
  182. @$(CC) -MM $(CFLAGS) -o $*.d $<
  183. @$(CC)  $(CFLAGS) -c $< -o$@
  184.  
  185. #---------------------------------------------------------------------------------
  186. %.o : %.s
  187. @echo $(notdir $< )
  188. @$(CC) -MM $(CFLAGS) -o $*.d $<
  189. @$(CC)  $(ASFLAGS) -c $< -o$@
  190.  
  191. define bin2o
  192. cp $(< ) $(*).tmp
  193. echo -n $$(( `cat $(*).tmp | wc -c` & 3 )) | sed -e 's/0//g' | sed -e 's/1/000/g' | sed -e 's/2/00/g' | sed -e 's/3/0/g' >> $(*).tmp
  194. $(OBJCOPY) -I binary -O elf32-littlearm -B arm \
  195. --rename-section .data=.rodata \
  196. --redefine-sym _binary_$*_tmp_start=$*\
  197. --redefine-sym _binary_$*_tmp_end=$*_end\
  198. --redefine-sym _binary_$*_tmp_size=$*_size\
  199. $(*).tmp $(@)  
  200. echo "extern const u8" $(*)"[];" > $(*).h
  201. echo "extern const u32" $(*)_size[]";" >> $(*).h
  202. rm $(*).tmp
  203. endef
  204.  
  205. #---------------------------------------------------------------------------------
  206. %.o : %.pcx
  207. #---------------------------------------------------------------------------------
  208. @echo $(notdir $< )
  209. @$(bin2o)
  210.  
  211. #---------------------------------------------------------------------------------
  212. %.o : %.bin
  213. #---------------------------------------------------------------------------------
  214. @echo $(notdir $< )
  215. @$(bin2o)
  216.  
  217. #---------------------------------------------------------------------------------
  218. %.o : %.raw
  219. #---------------------------------------------------------------------------------
  220. @echo $(notdir $< )
  221. @$(bin2o)
  222.  
  223. #---------------------------------------------------------------------------------
  224. %.o : %.pal
  225. #---------------------------------------------------------------------------------
  226. @echo $(notdir $< )
  227. @$(bin2o)
  228.  
  229. #---------------------------------------------------------------------------------
  230. %.o : %.map
  231. #---------------------------------------------------------------------------------
  232. @echo $(notdir $< )
  233. @$(bin2o)
  234. #---------------------------------------------------------------------------------
  235. %.o : %.mdl
  236. #---------------------------------------------------------------------------------
  237. @echo $(notdir $< )
  238. @$(bin2o)
  239. #---------------------------------------------------------------------------------
  240. %.o : %.jpg
  241. #---------------------------------------------------------------------------------
  242. @echo $(notdir $< )
  243. @$(bin2o)
  244. #---------------------------------------------------------------------------------
  245. %.o : %.mod
  246. #---------------------------------------------------------------------------------
  247. @echo $(notdir $< )
  248. @$(bin2o)
  249. #---------------------------------------------------------------------------------
  250. %.o : %.gif
  251. #---------------------------------------------------------------------------------
  252. @echo $(notdir $< )
  253. @$(bin2o)
  254. #---------------------------------------------------------------------------------
  255. %.o : %.bmp
  256. #---------------------------------------------------------------------------------
  257. @echo $(notdir $< )
  258. @$(bin2o)
  259.  
  260. -include $(DEPENDS)  
  261. #---------------------------------------------------------------------------------------
  262. endif
  263. #---------------------------------------------------------------------------------------


 
J'ai seulement ajouté dans le makefile, les "variables" (je sais pas si on appelle ça comme ça pour un makefile) :
LIBSMAD, LIBDIRMAD, et LIBPATHMAD
En gros j'ai fait la meme chose que pour les variables LIBS, LIBDIRS, LIBPATHS, LIBPA, LIBDIRPA, et LIBPATHPA qui étaient déjà présentes.
 
J'ai ensuite ajouté les variables LIBSMAD et LIBPATHMAD dans la ligne de build
 
@$(LD)  $(LDFLAGS) -specs=ds_arm9.specs $(OFILES) $(LIBPATHMAD) $(LIBSMAD) $(LIBPATHPA) $(LIBSPA) $(LIBPATHS) $(LIBS) -o $(TARGET).elf
 
Pour information, voici ce que j'obtiens lorsque le build échoue  
 

Code :
  1. bstdfile.c
  2. main.c
  3. c:/Homebrews/TestRaw2/source/main.c:17:31: warning: backslash and newline separated by space
  4. c:/Homebrews/TestRaw2/source/main.c:18:29: warning: backslash and newline separated by space
  5. c:/Homebrews/TestRaw2/source/main.c:19:31: warning: backslash and newline separated by space
  6. c:/Homebrews/TestRaw2/source/main.c:20:29: warning: backslash and newline separated by space
  7. c:/Homebrews/TestRaw2/source/main.c:177:33: warning: backslash and newline separated by space
  8. c:/Homebrews/TestRaw2/source/main.c: In function 'MpegAudioDecoder':
  9. c:/Homebrews/TestRaw2/source/main.c:235: warning: unused variable 'i'
  10. c:/Homebrews/TestRaw2/source/main.c:234: warning: unused variable 'OutputBufferEnd'
  11. c:/Homebrews/TestRaw2/source/main.c:231: warning: unused variable 'OutputPtr'
  12. c:/Homebrews/TestRaw2/source/main.c: At top level:
  13. c:/Homebrews/TestRaw2/source/main.c:104: warning: 'MadFixedToSshort' defined but not used
  14. c:/Homebrews/TestRaw2/source/main.c:202: warning: 'ApplyFilter' defined but not used
  15. c:/Homebrews/TestRaw2/source/main.c: In function 'main':
  16. c:/Homebrews/TestRaw2/source/main.c:455: warning: 'num' is used uninitialized in this function
  17. arm-eabi-gcc -g -mthumb-interwork -mno-fpu -L/c/devkitPro/PAlib/lib -L/c/devkitPro/devkitARM/lib -specs=ds_arm9.specs bstdfile.o main.o -L/c/devkitPro/libmad/lib -lmad -L/c/devkitPro/PAlib/lib -lpa9 -L/c/devkitPro/libnds/lib -lfat -lnds9 -ldswifi9 -o build.elf
  18. main.o: In function `MpegAudioDecoder':
  19. c:/Homebrews/TestRaw2/source/main.c:239: undefined reference to `mad_stream_init'
  20. c:/Homebrews/TestRaw2/source/main.c:240: undefined reference to `mad_frame_init'
  21. c:/Homebrews/TestRaw2/source/main.c:241: undefined reference to `mad_synth_init'
  22. c:/Homebrews/TestRaw2/source/main.c:301: undefined reference to `mad_frame_decode'
  23. c:/Homebrews/TestRaw2/source/main.c:308: undefined reference to `mad_stream_errorstr'
  24. c:/Homebrews/TestRaw2/source/main.c:318: undefined reference to `mad_stream_errorstr'
  25. c:/Homebrews/TestRaw2/source/main.c:293: undefined reference to `mad_stream_buffer'
  26. c:/Homebrews/TestRaw2/source/main.c:391: undefined reference to `mad_frame_finish'
  27. c:/Homebrews/TestRaw2/source/main.c:392: undefined reference to `mad_stream_finish'
  28. collect2: ld returned 1 exit status
  29. make[1]: *** [/c/Homebrews/TestRaw2/TestRaw2.elf] Error 1
  30. make: *** [build] Error 2


n°1555295
kirius
Posté le 04-05-2007 à 13:26:57  profilanswer
 

Il n"y pas un (ou une) spécialiste du makefile dans le coin ?

n°1557467
kirius
Posté le 09-05-2007 à 16:48:59  profilanswer
 

Bon...
J'ai pu enlevé les underscore devant les noms de sympboles. Pour chaque fichier objet, il faut utiliser la commande  
objcopy --remove-leading-char fichier.o
Après l'avoir fait pour chaque fichier objet de la librairie, on refait l'archive avec la commande ar, et puis voilou, on se retrouve avec les noms de symboles "corrects".
 
c plutôt cool, mais le problême ne venait pas de là :)  
 
Avant de faire ça, j'ai tenté d'utiliser la commande objcopy directement sur la librairie libmad.a. ça a fait n'importe quoi, car à l'édition des liens, il y a eu une erreur signalant que la librairie libmad.a avait un format inconnu...  
Cela montre que à l'édition des liens, il va chercher la bonne librairie. Alors pourquoi, si le nom des symboles est maintenant correct, il y a toujours des erreurs de "undefined reference to ..." pendant l'édition de liens ???


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  Erreur de Link : Undefined reference to...

 

Sujets relatifs
VB : Masquer le message d'erreur de vbErreur 206
[Résolu][C] problème de link SDL, SDL_image, SDL_ttf sous cygwinVC++ 6.0 Erreur LNK2011 instrumentation Insure++
Erreur de segmentation avec un main videErreur de syntaxe a la *** !
Webservice et erreur 401[Erreur python]underlying C/C++ object has been deleted [ Résolu ]
[Erreur] Creating default object from empty valueAfficher les erreur lors du lancement d'un script bash
Plus de sujets relatifs à : Erreur de Link : Undefined reference to...


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR