对#include <iconv.h>、`libiconv_open'、`libiconv'、`libiconv_close' 的未定义引用
Posted
技术标签:
【中文标题】对#include <iconv.h>、`libiconv_open\'、`libiconv\'、`libiconv_close\' 的未定义引用【英文标题】:undefined reference to #include <iconv.h>,`libiconv_open',`libiconv',`libiconv_close'对#include <iconv.h>、`libiconv_open'、`libiconv'、`libiconv_close' 的未定义引用 【发布时间】:2010-11-28 10:20:37 【问题描述】:在我的 C 应用程序中添加引用时遇到问题。我无法在我的数据压缩器项目中添加对“libiconv”的链接器引用。我已经下载了“libiconv”库,但在添加显示编译错误的引用时感到困惑。我正在使用 Dev C++ 开发我的压缩应用程序。
这里是编译日志:
构建 Makefile:“C:\Dev-Cpp\Examples\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`
【问题讨论】:
【参考方案1】:您只是指定了一个额外的库路径,而不是要链接到的实际库。试试:
gcc.exe eot.o libeot.o properties.o -o "Project1.exe" -L"C:/Dev-Cpp/lib" -liconv
【讨论】:
我已经从ftp.gnu.org/gnu/libiconv/libiconv-1.13.1.tar.gz 下载了'libiconv'库......解压zip文件后我不知道如何使用这个库。“libiconv”文件夹包含很多子文件夹。我很困惑我应该引用哪个库。以上是关于对#include <iconv.h>、`libiconv_open'、`libiconv'、`libiconv_close' 的未定义引用的主要内容,如果未能解决你的问题,请参考以下文章