我在运行CMake时生成了32位项目版本,而不是64位。
我一直在ogldev上关注OpenGL教程,然后进入有关将模型加载到应用程序中的部分。无论出于何种原因,添加Assimp后,每次尝试启动应用程序时,都会出现链接器错误(例如“ LNK2001无法解析的外部符号aiGetMaterialTextureCount”)。我正在使用Visual Studio 2019。
我添加Assimp依赖项所做的工作是:
1-我已将assimp \ include文件夹添加到我的配置属性\ VC ++目录\ Include目录和引用目录,以及C / C ++ \ Additional include目录下。
2-我已经使用CMake(带有boost)构建了assimp项目,并创建了assimp \ lib文件夹(对于64位,因为我的应用程序也是64位)。我将assimp.dll复制到项目的x64 \ Release文件夹中,并将assimp \ lib文件夹添加到VC ++目录\ Library目录以及Linker \ General \ Additional库目录中。 assimp.lib已添加到Linker \ Input \ Additional依赖项。
一路上我错过了一步吗?我该怎么办?
答案 0 :(得分:1)
如果要使用Asset-Importer-Lib的32位版本,则还必须为其生成32位版本。
构建中的64位和32位二进制文件不兼容。这就是您从构建中获得未解析符号的原因。
因此,要进行修复,可以为您的应用程序生成64位版本。