2

希望有人可以在这里帮助我。我正在使用 Visual Studio 2005 并创建一个静态链接到 wxWidgets 的静态库。我有:

  1. 根据他们的指南静态编译 wxWidgets
  2. 在我的“附加库目录”属性中包含 lib 目录
  3. 在我的“附加依赖项”属性中添加了所有wxWidget 库
  4. 将我的“链接库依赖项”属性设置为“是”
  5. 将 C++ 优化设置为禁用。

我知道其中一些步骤不应该执行,我这样做是出于“以防万一”的理性。

虽然我的库编译顺利,但包含我的静态库的测试应用程序在链接期间抱怨它找不到'wxbase28.lib'(我包括在内)。

我应该注意到我完全抽象出 wxWidgets,所以库的公共 API 没有提及任何与 wxWidget 相关的内容。测试应用程序不应该知道 wxWidgets 存在。

我的小库已经增长到超过 51 MB,所以我感觉这些库正在链接中......那么为什么我的测试应用程序抱怨它找不到 wxWidgets 库?

谢谢

4

2 回答 2

2

构建过程中的链接步骤将依赖库拉入:当您构建静态库时,它不会拉入任何递归依赖项,因为没有链接步骤。

因此,您的静态库和 wx 的静态库都需要存在,然后才能链接最终应用程序。

于 2009-12-16T19:17:51.503 回答
0

我不想提出显而易见的建议,但是 wxbase28.lib 是否列在测试应用程序的依赖项列表中?

于 2009-12-16T18:51:05.900 回答