最近我需要在Ubuntu的编程中使用zlib,这里我遇到了问题。 我写了一个小程序来测试zlib函数,我在Eclipse中构建它。 我发现它可以编译但是有一些像这样的链接错误:
main.cpp:27: undefined reference to `compress'
main.cpp:38: undefined reference to `uncompress'
我该怎么办?如果这是因为没有库文件?
有人能帮忙吗?非常感谢!
MOODY_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)
答案 0 :(得分:4)
尝试:
sudo apt-get install zlib1g-dev
另外,在compile / link命令中使用-lz
。
答案 1 :(得分:3)
您需要将您的源链接到zlib.Build您的代码如下
gcc main.cpp -lz