0

我在 Code::Blocks 17.12 中设置 SDL,在 Windows 上使用 MinGW,我看到了一组奇怪的链接器选项。我是新手,所以这可能很明显。加载一个项目,进入顶部的Project选项卡,单击Properties,然后单击Project's build options。如果你点击Linker settings,你会发现两件事。一个包含要链接的库列表,而另一个包含在命令本身中提供给链接器的选项列表。这是窗口的截图: 代码::块链接器选项

我发现删除链接库根本不会弄乱构建,而删除链接器选项会弄乱一切。这是只有 SDL 才会发生的事情吗?这两个部分有什么区别?这些标志告诉链接器做什么?

4

1 回答 1

0

好吧,这是一个非常简单的错误。经过一番研究,我在论坛上找到了这篇解释问题的帖子。库必须以完全相同的顺序加载!要回答我的第一个问题,SDL 确实有些奇怪,但这个问题可能发生在任何一组库文件中。其次,这两个部分在链接静态库文件时基本完全相同,但链接器选项为您提供了更多控制权,并允许您指定链接器可能使用的其他标志。最后,这些标志告诉链接器查看提供的目录并将它们嵌入到您的程序中,允许您在最终可执行文件中使用库中存在的功能。

这是一张显示我所做的图像。使用与之前提供的相同规格,构建运行完美,并且我能够成功运行最终程序。 库名称的提供顺序与链接器选项中的顺序完全相同

于 2018-03-26T20:44:26.593 回答