2015-11-16 3 views
0

Я разработал небольшое приложение с открытым исходным кодом, чтобы помочь мне в моей докторской диссертации. Приложение работает правильно в Windows. Когда я пытаюсь запустить на Linux все работает отлично, но когда я закрыл приложение я получил следующее сообщение:Портирование приложения Lazarus из Windows на Linux

Project SmCube raised exception class ´External: SIGSEGV´. 

Я пытался запустить некоторые примеры приложений (которые пришли с Лазарем по умолчанию), и они работают ОК.

Я попытался проследить проблему. После того, как «Application.Terminate» команду отладки застрял на этой процедуре:

{------------------------------------------------------------------------------ 
    Method: TGtk2WidgetSet.AppWaitMessage 
    Params: None 
    Returns: Nothing 

    Passes execution control to the GTK engine till something happens 
    ------------------------------------------------------------------------------} 
procedure TGtk2WidgetSet.AppWaitMessage; 
begin 
    WaitingForMessages:=true; 
    if not FGtkTerminated then 
    begin 
    {$IFDEF USE_GTK_MAIN_OLD_ITERATION} 
    gtk_main_iteration_do(True); 
    {$ELSE} 
DEBUG STOPS HERE --> g_main_context_iteration(g_main_context_default, True); 
    {$ENDIF} 
    end; 
    WaitingForMessages:=false; 
end; 

Пожалуйста, кто-то может помочь мне узнать, что происходит? С уважением

+0

Невозможно никому помочь, не видя кода. – John3136

+0

Спасибо за комментарий @ John3136, но я думал, что это была конкретная проблема с Larazus и Linux;) – Britto

+0

У вас возникла такая проблема с пустым проектом? Вы пытались отладить свой проект? Какие версии FPC/Lazarus/Linux вы используете? Какие пакеты вы используете в своем проекте? Существует много информации, которую вы пропустили в своем вопросе. – Abelisto

ответ

-1

Я также не вижу достаточной информации, чтобы дать какой-либо стоящий ответ.

Но я бы предложил попытаться скомпилировать приложение lazarus с виджетами qt вместо виджета gtk и посмотреть, все ли это происходит.

Смежные вопросы