2

最近我需要在 Ubuntu 上使用 zlib 进行编程,这里我遇到了一个问题。我编写了一个小程序来测试 zlib 功能,并在 Eclipse 中构建了它。我发现它可以编译,但有一些链接错误,如下所示:

main.cpp:27: undefined reference to `compress'
main.cpp:38: undefined reference to `uncompress'

我该怎么办?如果这是因为没有库文件?

任何人都可以提供一些帮助吗?非常感谢!

穆迪_Y

另外,这是我的建筑信息:

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)
4

2 回答 2

5

尝试:

sudo apt-get install zlib1g-dev

此外,-lz在编译/链接命令上使用。

于 2013-07-02T16:06:40.980 回答
4

您需要将您的源代码链接到 zlib。如下构建您的代码

gcc main.cpp -lz
于 2013-07-02T16:12:19.333 回答