我知道这个问题已经被问过(很多次)。
如何在 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
所以有些东西我完全错过了,我显然不明白。
有什么简单的我做错了吗?谢谢!