Über die linking-Fehler in der zlib auf ubuntu
Kürzlich ich zlib in der Programmierung auf Ubuntu und hier habe ich ein problem.
Ich habe ein kleines Programm geschrieben um zu testen, zlib-Funktionen und ich baute es in Eclipse.
Ich fand es kompiliert werden kann, aber es gab einige Verknüpfungsfehler wie diese:
main.cpp:27: undefined reference to `compress'
main.cpp:38: undefined reference to `uncompress'
Was soll ich tun? Wenn dieses ist, weil es keine library-Datei?
Kann jemand geben einige helfen? Vielen Dank!
MOODY_Y
Plus, hier sind meine Gebäude info:
11:59:08 **** Build of configuration Debug for project test_zlib ****
make all
Building file: ../main.cpp
Invoking: GCC C++ Compiler
g++ -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"main.d" -MT"main.d" -o "main.o" "../main.cpp"
Finished building: ../main.cpp
Building target: test_zlib
Invoking: GCC C++ Linker
g++ -o "test_zlib" ./main.o
./main.o: In function `main':
/home/hyq/workspace/test_zlib/Debug/../main.cpp:27: undefined reference to `compress'
/home/hyq/workspace/test_zlib/Debug/../main.cpp:38: undefined reference to `uncompress'
collect2: ld return 1
make: *** [test_zlib] error 1
11:59:10 Build Finished (took 1s.715ms)
- Zeigen Sie Ihre linker-Befehl.
- Hast du link gegen zlib?
- Wie ich schon sagte, habe ich nur verwendet, Eclipse IDE, um es zu bauen und hier ist die linker-Befehl: g++ -o "test_zlib" ./main.o
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen:
Nutzen Sie auch
-lz
auf die compile/link-Befehl.-lz
zu Ihrer link-Befehl.Müssen Sie diese Verbindung youe Quelle zu zlib.Bauen Sie Ihren code wie folgt
g++ -o "test_zlib" ./main.o -lz
als linker-Befehl.