与我自己的源文件一起编译SDL 2

时间:2018-10-31 22:44:23

标签: c swift sdl-2

由于编译错误,我无法正确使用动态链接的SDL,我不喜欢采用静态链接路线,因为我不确定这在我使用的语言中是否实现得很好。

这就是为什么我想手动编译SDL 2源文件的原因,我只使用了官方仓库中/ include和/ src下的文件,但是在编译时却出现此错误:

function getIframeWindow(iframe_object) {
  var doc;

  if (iframe_object.contentWindow) {
    return iframe_object.contentWindow;
  }

  if (iframe_object.window) {
    return iframe_object.window;
  } 

  if (!doc && iframe_object.contentDocument) {
    doc = iframe_object.contentDocument;
  } 

  if (!doc && iframe_object.document) {
    doc = iframe_object.document;
  }

  if (doc && doc.defaultView) {
   return doc.defaultView;
  }

  if (doc && doc.parentWindow) {
    return doc.parentWindow;
  }

  return undefined;
}

我知道这样做是有可能的,因为官方网站已经提到了它,但是我完全不知道应该采取什么步骤才能使其正常工作?

编辑: 这是示例存储库:https://github.com/adtrevor/compileSDL

1 个答案:

答案 0 :(得分:0)

SDL是一个跨平台的库,您不太可能希望编译所有源文件来获得所需的功能。通常,您运行configure / make,它将决定要构建/不构建的内容。

您提到自己正在构建源文件;因此,您可能希望放弃SDL构建并尝试捕获相同的文件。关于您的错误,QNX是Blackberry操作系统-因此,根据您的用例,您可以避免在SDL/src/video/qnx/*下构建所有内容,因为您仍然没有这些操作系统标头。

无论如何,SDL应该默认构建静态库。考虑进行常规构建,并使用sdl-config --static-libs找出应该链接的静态库。