如何解决在另一个库SDL和Eclipse之上构建一个新库
| 我正在使用SDL进行项目。我觉得我的很多代码可以/应该可重用于我可能要进行的任何其他项目。 我本来要开始一个库项目,但是我不知道如何链接到SDL库。 通常,我去项目设置并编辑Mingw32 Linker,以包括库(ming32,SDLmain和SDL)。但是链接器未显示在设置中。 所以我的问题是: 因为建立库只是编译操作,所以没有链接器设置吗? 通常,是否可以在现有库的基础上构建一个库?也就是说,使用SDL函数和构造写我的库。还是我必须获取源代码并完全使用我的代码进行重建? 另外,在这种情况下,关于共享还是静态的建议? (此外,有关在何处进一步了解编译器和链接器等的任何建议。我在学校学习了数据结构,但没有更进一步)解决方法
作为介绍,您必须将静态库与动态库区分开,它们是完全不同的野兽……对您的问题说:
因为建立库只是编译操作,所以没有链接器设置吗?
我猜您在这种情况下正在创建静态库。静态库只是构成源代码树的所有单个目标文件(即,编译器生成的“ 0”文件)在一个单一目标文件中的集合。不多不少。
使用静态库,您不需要指定哪个依赖项,因为可以理解的是,编译最终可执行文件时,库将与它依赖的所有其他库链接。因此,只有在那时(最终的可执行程序构建),才能检测到任何丢失的符号,并且所有其他库都必须可用。
共享库(也是动态库)是一个可执行文件,其中嵌入了它依赖的所有静态库。它也可以与其他嵌入式库共享外部依赖关系。
通常,是否可以在现有库的基础上构建一个库?也就是说,使用SDL函数和构造写我的库。还是我必须获取源代码并完全使用我的代码进行重建?
对于静态库和动态库,这都是完全可能的。
另外,在这种情况下,关于共享还是静态的建议?
在这种情况下,无法提供建议,因为您没有指定足够的信息。
看一下这一点:什么时候使用动态库与静态库,以及使用这本指南,以获得某种指导。
(此外,有关在何处进一步了解编译器和链接器等的任何建议。我在学校学习了数据结构,但没有更进一步)
我认为上面的两个链接可以为您提供大量信息。如果您想进一步了解细节,可以从此Wikipedia文章开始并从那里浏览。
, 您正在构建的库可以具有外部依赖项。这意味着您可以将其与SDL或所需的任何其他外部库链接。
我认为此页面解释了您所有其他问题:MingW中的DLL创建
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。