【问题标题】:Troubles with CMake and AssimpCMake 和 Assimp 的问题
【发布时间】:2021-08-18 07:03:53
【问题描述】:

我有最新的 assimp 源代码(5.0.1 版本),我用 CMake 构建它并使用 cmake --install 安装。现在我正在尝试将它添加到我的 CMake 项目中:find_package(Assimp REQUIRED Assimp) - 目前它配置良好。当我尝试添加时,问题就开始了

target_link_libraries(
    MyProj PRIVATE
    Assimp::Assimp
)

我收到以下错误:

[cmake]   target "MyProj" links to target "Assimp::Assimp" but the target
[cmake]   was not found.  Perhaps a find_package() call is missing for an IMPORTED
[cmake]   target, or an ALIAS target is missing?

经过一番研究,我试过target_link_libraries(MyProj PRIVATE ${ASSIMP_LIBRARIES}),这次我得到一个编译错误,当我显示${ASSIMP_LIBRARIES}变量的值时(命令:message("${ASSIMP_LIBRARIES}"))我得到:assimp-vc142-mt.dll -它包含 .dll 名称,即使没有完整路径。 assimp 遇到很多麻烦,有人可以提出解决方案吗?

【问题讨论】:

  • 我正在使用 Visual Studio 编译器在 Windows 10 上执行此操作。

标签: c++ cmake


【解决方案1】:

在没有任何 assimp 知识的情况下,我想你想要的是这样的:

target_link_libraries(MyProj PRIVATE assimp::assimp)

据我所知,CMake 目标名称区分大小写,assimp::assimp 别名目标是使用小写 a 创建的 here

【讨论】:

  • 哇?!一天寻找解决方案,问题是关于大写字母?!非常感谢您的帮助。至少现在这个项目的配置没有错误。但现在我得到一个编译时错误:..\lib\bin\assimp-vc142-mt.dll : fatal error LNK1107,因为在链接器输入部分生成的 Visual Studio 解决方案中,我有 ..\lib\bin\assimp-vc142-mtd.dll 而不是 .lib。不过还是非常感谢!
猜你喜欢
  • 1970-01-01
  • 2021-12-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-23
  • 1970-01-01
  • 2021-10-25
  • 2015-09-21
相关资源
最近更新 更多