参考
让Visual Studio (VS)链接静态库(lib)及动态库(dll)文件的方法汇总
配置过程
在看LearnOpenGL时候,需要配置Assimp库,想用Vcpkg配置但是下载失败,查看得知Vcpkg下载的地址已经失效,所以在github找到Assimp库的地址,手动下载。
github下载地址
- 下载完成后,创建build文件夹,使用cmake进行编译,CMake在读取配置列表时,不断报出DirectX库丢失的错误,Could not locate DirectX。
- 这个问题的解决方案是安装DirectX SDK,如果你之前没安装过的话。你可以从这里下载SDK。
- 安装DirectX SDK时,可能遇到一个错误码为s1023的错误。这种情况下,请在安装SDK之前根据这个先卸载C++ Redistributable package(s)。(卸载完成之后,会有一些问题,比如玩游戏启动不了,最好编译完成后重新安装一下。)
- Cmake配置Generate成功之后,在build文件夹里生成工程文件assimp.sln,用vs打开,生成解决方案。
- 生成解决方案后,在
assimp/build/lib/Debug/
目录下生成assimp.lib,在assimp/build/bin/Debug/
目录下生成assimp.dll,以及在assimp/include/
目录下找到assimp所有的头文件。 - 生成完毕之后,我们需要让IDE知道库和头文件的位置,在解决方案中链接第5项所述的这些文件。参考这个文章。我采用的做法是在工程目录下新建include、lib、bin目录放置头文件、lib、dll,然后在工程属性里链接到工程。
- 在测试代码时候,添加一个assimp头文件,然后编译报错,在该头文件引用的头文件里的config.h有问题,发现
assimp/build/include/assimp
目录下也生成了config.h,将其对assimp/include/
目录下的config.h进行替换,即可。