This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Problem with libiconv


Thank you Mr. Glisse.

My libiconv.so file is in /usr/local/lib and it's a shared library.
How do I compile the source foo.c which contains iconv.h header? I
normally compile like this, 'gcc  -Wall -g foo.c -o foo' . I used
'gcc  -Wall -g -I/usr/local/lib foo.c -o foo' . but still there's same
error. Tried with  'gcc  -Wall -g -I/usr/local/include foo.c -o foo' ,
still the problem persists.


Rifat Mahmud

On Wed, Nov 3, 2010 at 5:02 PM, Marc Glisse <marc.glisse@inria.fr> wrote:
> On Wed, 3 Nov 2010, Rifat Mahmud wrote:
>
>> I installed libiconv and used '#include<iconv.h>' in a source code.
>> After compiling gcc prints
>>
>> /tmp/ccgsye0A.o: In function `main':
>> /home/rifat/Documents/Sources/test1.c:12: undefined reference to
>> `libiconv_open'
>
> That's normal. When you want to use external functionality in a program, you
> need 2 things: a #include to tell your code about the interface of that
> functionality and a corresponding -l flag on the command line telling which
> library to take the functionality from.
> #include <math.h> ?----> gcc ... -lm
> #include <stdlib.h> ----> gcc ... -lc (this one is actually implicit)
> #include <iconv.h> ----> gcc ... -liconv (if you are using the iconv.h from
> libiconv, -lc otherwise)
>
>> How can I solve this problem. I probably didn't overwrite the system
>> iconv.h file, which is in /usr/local/include . I'm very much a rookie
>> in gcc, please help me out, Thank you.
>
> I doubt the system iconv.h is in /usr/local.
>
> --
> Marc Glisse
>


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]