【问题标题】:Unresolved External between static library projects in visual studioVisual Studio中静态库项目之间未解决的外部问题
【发布时间】:2020-04-20 01:10:25
【问题描述】:

我的 Visual Studio 解决方案结构如下:

*项目A(静态库)

*项目 B(静态库)

*测试项目(exe)

项目 B 定期引用项目 A,测试项目同时使用两者。最近,我在项目A中添加了一些新功能,但是在构建测试项目时尝试使用项目B中的新功能会导致无法解析外部。我已经检查过,它只发生在一个类(Model.cpp)中,我可以成功地使用项目 B 中其他类的新函数。什么可能导致项目 b 绊倒 A 中的一个类,而不是其他任何类?我已经对所有项目进行了多次重建、清理等 谢谢

【问题讨论】:

  • 那么您根本不能使用该类(Model.cpp)中的任何函数吗?然后似乎该类未链接到库和/或测试应用程序。您可以通过Dumpbin 进行检查。
  • 我可以在该类的实例中创建和使用变量。所以我可以做Model * m = new Model() 并访问m.memberVar。但我不能使用与Model 有关的任何方法。很奇怪。我现在去看看垃圾箱
  • 我到底应该使用垃圾箱寻找什么?

标签: c++ visual-studio linker


【解决方案1】:

解决了。有问题的方法都使用了 glm 数学库中的类/结构。在一些文件中,我为库定义了一些东西,但在 Model.h 中我没有。我将为 glm 进行通用导入,以确保使用它的每个文件都有正确的定义。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-30
    • 2018-11-03
    相关资源
    最近更新 更多