linux - 将 Lazarus 应用程序从 Windows 移植到 Linux

标签 linux windows lazarus

我开发了一个小型开源应用程序来帮助我完成博士论文。该应用程序在 Windows 上可以正常运行。当我尝试在 Linux 上运行时,一切都运行得很好,但是当我关闭应用程序时,我收到了此消息:

Project SmCube raised exception class ´External: SIGSEGV´. 

我尝试运行一些示例应用程序(默认情况下与 Lazarus 一起提供),它们运行正常。

我已尝试追踪问题。在“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; 

请问有人可以帮我看看发生了什么吗? 最好的问候

最佳答案

我也没有看到足够的信息来给出任何有值(value)的答案。

但我建议尝试使用 qt widgetset 而不是 gtk widgetset 来编译 lazarus 应用程序,看看它是否仍然会发生。

关于linux - 将 Lazarus 应用程序从 Windows 移植到 Linux,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33745969/

相关文章:

linux - gprof错误: profile file has unsupported version

linux - 堆栈保护器已启用,但编译器支持已损坏

windows - 为 Unix 系统转换 Windows .cpp 文件?

warnings - Freepascal 或 CodeTyphon : Warnings

forms - 为什么拉撒路的一些属性突出显示为红色

linux - 如何在 Linux 上的文件之间移动映射页面?

linux - rlwrap 在后台运行时挂起作业

windows - 如何以编程方式启用/禁用网络连接选项

c# - 重命名和复制程序集是否安全?

delphi - 如何找到网格列的顺序?