2010-11-28 5 views
0

Ich hatte ein Problem mit dem Hinzufügen von Verweis in meiner C-Anwendung. Ich kann keine Linkreferenz zu "libiconv" in meinem Datenkomprimierungsprojekt hinzufügen. Ich habe die Bibliothek "libiconv" heruntergeladen, aber beim Hinzufügen von Referenzen verwirrt, die Fehler beim Kompilieren anzeigen. Ich verwende Dev C++ für die Entwicklung meiner Komprimierungsanwendungen.undefined Verweis auf #include <iconv.h>, `libiconv_open ',` libiconv', `libiconv_close '

hier ist die Kompilierung log:

Gebäude Makefile: "C: \ Dev-Cpp \ Beispiele \ eottest \ Makefile.win"

Executing make... 

make.exe -f "C:\Dev-Cpp\Examples\eottest\Makefile.win" all 

gcc.exe eot.o libeot.o properties.o -o "Project1.exe" -L"C:/Dev-Cpp/lib" 


libeot.o(.text+0x19):libeot.c: undefined reference to `libiconv_open' 
libeot.o(.text+0x36):libeot.c: undefined reference to `libiconv_close' 
libeot.o(.text+0x67):libeot.c: undefined reference to `libiconv' 

collect2: ld returned 1 exit status` 

Antwort

3

Sie spezifizieren nur ein zusätzlicher Bibliothekspfad, nicht die tatsächliche Bibliothek, zu der ein Link erstellt werden soll. Versuchen:

gcc.exe eot.o libeot.o properties.o -o "Project1.exe" -L"C:/Dev-Cpp/lib" -liconv 
+1

i heruntergeladen haben 'libiconv' Bibliothek von http://ftp.gnu.org/gnu/libiconv/libiconv-1.13.1.tar.gz ...... nach Zip-Datei extrahieren i weiß nicht, wie man diese Bibliothek benutzt. Der "libiconv" -Ordner besteht aus vielen Unterordnern. Ich verwirre, welche Bibliothek ich referenzieren sollte. – MikMark