由于编译错误,我无法正确使用动态链接的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
答案 0 :(得分:0)
SDL是一个跨平台的库,您不太可能希望编译所有源文件来获得所需的功能。通常,您运行configure
/ make
,它将决定要构建/不构建的内容。
您提到自己正在构建源文件;因此,您可能希望放弃SDL构建并尝试捕获相同的文件。关于您的错误,QNX是Blackberry操作系统-因此,根据您的用例,您可以避免在SDL/src/video/qnx/*
下构建所有内容,因为您仍然没有这些操作系统标头。
无论如何,SDL应该默认构建静态库。考虑进行常规构建,并使用sdl-config --static-libs
找出应该链接的静态库。