构建应用程序时,MinGW Linker 的 wxWidgets 库的正确顺序是什么?

问题描述 投票:0回答:1

这几天我一直在研究 wxWidgets。我成功编译了库并构建了最小示例和教程中的另一个示例。全部在 Win 10 下使用 MinGW GCC 12.2 和 Eclipse CDT。
现在,我创建了一个 XRC 文件,并从教程中获取了一个小程序来使用此 XRC 文件,但这会产生一长串未定义的引用链接器错误。在搜索解决方案时,我发现提示它可能与链接器设置中给出的库的顺序有关。我还找到了 wxWidgets 库的依赖关系图,并开始在链接器设置中使用这些库。 我设法大大减少了错误数量,最终成功链接,没有任何错误。
现在我的问题是:

  • 为什么顺序很重要?
  • 是否有正确的顺序,或者它取决于我的程序,例如包含的头文件?
  • 我在哪里可以找到正确的订单或者如何找到它? (这一次花了我三个小时!)
  • 如何确定需要哪些库?

感谢您的帮助!

eclipse gcc mingw wxwidgets
1个回答
0
投票
  1. 如何找出库的顺序?

您可以尝试以与构建最小样本相同的方式构建在示例 \xrc 目录中找到的 xrc 样本,并查看生成的命令。 2. 为什么它很重要?

因为如果库 A 中的函数调用库 B 中的函数,链接器需要首先知道库 B 是什么。它无法猜测库 B 中的该函数在哪里。所以它会抛出一个对函数 XXX 的未定义引用。

HTH.

© www.soinside.com 2019 - 2024. All rights reserved.