[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: ошибка при компиляции



On 2009.07.04 at 17:02:16 +0700, Ivan Petrov wrote:

> Victor Wagner пишет:
>> On 2009.07.04 at 11:50:57 +0700, Ivan Petrov wrote:
>>
>>> Попытался откомпилировать программу для проверки баланса 
>>> билайн-модема, которая приведена на 
>>> http://ru.gentoo-wiki.com/wiki/MF626
>>> запускаю компиляцию:
>>> $ g++ -lusb balans.c -o balans
>>>
>>> получаю:
>>>
>>> /tmp/cca4sxGE.o: In function `main':
>>> balans.c:(.text+0xb1e): undefined reference to `libiconv_open'
>>> balans.c:(.text+0xb5d): undefined reference to `libiconv'
>>> balans.c:(.text+0xc97): undefined reference to `libiconv_close'
>>> collect2: ld returned 1 exit status
>>
>> Выглядит это так, что откуда-то берется неправлиьный iconv.h
>
> Откомпилировалась с добавлением опции -liconv

Ох, зря. Лучше выяснить, откуда  у вас в  системе взялась portable
iconv, и вычистить нахрен. Потому что в linux-е libc-шная реализация
во-первых, лучше, во-вторых не требует таскания лишней библиотеки в
несколько мегабайт.



> Только почему-то баланс денег так и не показывает. Запускаю в
> konsole
>
> Может кто-нибудь пояснить исходя из исходников - куда она должна показывать?

Cудя по исходникам, никуда и ничего не должна показывать.

Программа, написанная в типично процедурном стиле, при этом с выводом
через iostream, ради котрого приходится компилировать её c++
компилятором, да еще и цеплять здоровенную libstdc++, показывает что её
автор программировать не умел. А следовательно, ожидать от его программы
работы - нелепо.


Reply to: