From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Message-ID: <3F069B6A.7010006@mtu-net.ru> Date: Sat, 05 Jul 2003 13:33:30 +0400 From: "Oleg N. Kayunov" User-Agent: Mozilla/5.0 (X11; U; Linux i686; ru-RU; rv:1.2.1) Gecko/20030210 X-Accept-Language: ru-ru, en MIME-Version: 1.0 To: community@altlinux.ru References: <3F04937C.2040705@mtu-net.ru> <20030704051342.GA18686@altlinux.ru> <3F0532A6.7090407@mtu-net.ru> <20030704081407.GA19989@altlinux.ru> <3F05508F.9070501@mtu-net.ru> <20030704105440.GA21625@altlinux.ru> In-Reply-To: <20030704105440.GA21625@altlinux.ru> X-Enigmail-Version: 0.70.0.0 X-Enigmail-Supports: pgp-inline, pgp-mime Content-Type: text/plain; charset=KOI8-R; format=flowed Content-Transfer-Encoding: 8bit Subject: [Comm] Re: gcc =?koi8-r?b?zsHewcwg1NLFws/XwdTYIHBlcnNvbmFsaXR5?= X-BeenThere: community@altlinux.ru X-Mailman-Version: 2.1.1 Precedence: list Reply-To: community@altlinux.ru List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 05 Jul 2003 10:14:35 -0000 Archived-At: List-Archive: List-Post: Alexey Voinov пишет: >Oleg N. Kayunov wrote > > >>>>>>Вздумал перетранслировать программки на C, кои вполне нормально >>>>>>транслировались ещё в начале сего года (до установкиMaster 2.2). >>>>>>Вдруг на НЕКОТОРЫХ (что совсем озадачивает) C-шных файлах начал >>>>>>получать сообщения вида: >>>>>>====================================== >>>>>>Accerman.o(.eh_frame+0x11): undefined reference to >>>>>>`__gxx_personality_v0' >>>>>>либо: >>>>>>info.o(.gnu.linkonce.d.DW.ref.__gxx_personality_v0+0x0): undefined >>>>>>reference to `__gxx_personality_v0' >>>>>>====================================== >>>>>> >>>>>> >>>>>Может Вы используете g++ для компиляции этих программ? >>>>> >>>>> >>>> Фактически я думаю - да. >>>>Учитывая расширения и принимаемую транслятором форму комментариев. >>>> >>>> >>>Судя по приведённому СС --- нет. :) >>>Комметариии вида // в C --- gcc'изм и не является признаком C++ >>> >>> >> Ладно... Надо же... >> А расширение (cpp)? >> >> >А вот это как раз и говорит gcc, что исходник на C++ > Таки возвращаясь к исходному вопросу: получается, что gcc транслировал Accerman.cpp именно как C++ программу? Включая подход к именам функций? >> У меня. всякий раз когда я их (*.cpp) использовал одновременно с >>файлами поименованными как *.c начинались вопли насчёт нестыкуемости >>имён - т.е. *.cpp явно транслировались в C++ манере. >> >> >Так и есть. Так и должно быть. > Ну и ладушки. Никто и не спорит. Так как же оно (Accerman.cpp) у меня транслировалось (см. выше)? >> Бывало это, правда, до переустановки системы - ALM2.2. Может тут >>что-то и изменилось, не знаю. >> >> >Могу предложить только чётко определиться с используемыми языками и >привести команды компиляции в соответствие с языками. Этого можно достичь >либо давая правильные расширения файлам, либо указывая язык явно параметром >-x c или -x c++. > > Дык!!! Я таки не понял: ежели у меня gcc и так транслировал Accerman.cpp как C++ файл, то почему ситуация у У МЕНЯ изменилась после замены gcc на g++? И самое главное - почему У ВАС-ТО gcc оттранслировал и отлинковал всё без проблем (в отличие от меня)??? Это следствие того, что у Вас чуть более поздняя версия GCC (т.е. устранён некий хомут (он-же - баг)) или у Вас как-то по иному настроено окружение? Или попросту GCC уважает/боиться Вас больше чем меня? :-) Без понимания оных нюансов трудновато как-то ЧЁТКО определятся (я ведь был вполне уверен, что и так транслирую как C++). Можно только шаманить. Вы согласны? -- == В действительности все обстоит совершенно иначе чем на самом деле. == BR, Oleg N. Kayunov.