0

我知道这个问题已经被问过(很多次)。

如何在 CMakeLists 中包含 Assimp? CMakeLists 包括 OpenGL、glew、glfw、glm 和 assimp

但我仍然无法让它工作(通常)。

问题:如何安装 Assimp 并与 cmakelist.txt 中的 find_package 一起使用

我尝试了什么

  • 使用 cmake GUI 进行构建,然后使用 Visual Studio 构建 sln 文件
  • 使用 vcpck 安装并添加 cmakelist.txt 的路径
  • add_library(assimp "lib/assimp/assimp.dll")

但是所有的方法都会给出错误,例如:找不到 assimp,或者缺少 Assimp:Importer

include_directories("${LIB_DIR}/assimp/include")
# target_link_libraries(${PROJECT_NAME} assimp)


find_package(assimp REQUIRED)
if (assimp_FOUND)
    set(ASSIMP_LIBRARY "assimp")
    add_library(${ASSIMP_LIBRARY} SHARED IMPORTED)
    set_target_properties(${ASSIMP_LIBRARY} PROPERTIES IMPORTED_LOCATION "${LIB_DIR}/assimp/libassimp.so")
    target_link_libraries(${PROJECT_NAME} ${ASSIMP_LIBRARIES})
endif(assimp_FOUND)

这似乎建立,但后来我得到像unresolved external symbol "public: __cdecl Assimp::Importer::Importer(void)" (??0Importer@Assimp@@QEAA@XZ) referenced in function "private: void __cdecl

所以有些东西我完全错过了,我显然不明白。

有什么简单的我做错了吗?谢谢!

4

0 回答 0