我在SFML库中添加了一些层。 我想使其成为其他程序应使用的共享库。 问题是,当我尝试在该库中使用函数时,未调用main函数,但程序仍在运行。

int main()
{
  std::cout << "entry" << std::endl;
  // Calling a function inside my library
  FunctionInsideLibrary();
  return (0);
}

我知道的 :

  • 如果我链接库但未从库中调用任何函数,则程序将显示条目
  • 因此,如果使用函数,则不会显示条目,但程序正在运行(需要Ctrl-C才能关闭它)
  • 如果我创建静态库,则不会发生
  • 我尝试与其他库链接,并且工作正常(问题必须与SFML有关)
  • 我只是尝试与使用sf :: Window的虚拟库链接。 显然,这是导致我的问题的类(其他SFML类起作用)。

编辑:显然是因为我使用了“全局”变量SFML Window(在匿名名称空间中)。 使用指针或在类内部可以解决问题。 我想知道为什么这不可能。

  ask by inScienta translate from so

本文未有回复,本站智能推荐: