cmake编译assimp库(MinGW、VS)

 一、Assimp下载

https://gitcode.com/assimp/assimp/tree/master

下载源码解压到本地路径下,工程内新建build文件夹

二、cmake

https://cmake.org/download/

configure配置

1、visual studio版本

2、MinGW

MinGW还需配置gcc和g++路径,需提前将QT配置到系统环境变量中

环境变量->选择path->编辑->新建->输入QT安装路径到bin目录(我的C:\qt\Qt5.15.8\Tools\mingw810_64\bin)

配置完成后切换到cmake界面,分别选择gcc、g++路径

Configer、Generate顺利的话一切正常无错误

VS下按步骤完成点击openProject打开生成后的工程点击编译,生成库

MinGW下需要通过mingw32-make.exe对生成后的makefile进行编译

打开cmd->cd到刚刚assimp内新建的build文件夹下,输入mingw32-make.exe命令后等待编译完成.......

三、错误

1、vs下遇到"没找到DirectX"

解决方法:下载路径

        安装时可能会弹窗遇到一个错误码为s1023的错误(我就碰到了),提示安装失败。这个错误的解决方法在这个链接→(s1023错误)里,是英文的,我翻译成中文说一下就是:

        1. 卸载: Visual C++ 2010 Redistributable Package version 10.0.40219 

在控制面板里像卸游戏一样卸,注意看清楚一定要把x86和x64两个都卸载了(看清楚是2010,还有很多其他年份的名字很相似的,别搞错了)

        2. 再次傻瓜式一键安装之前下载好的DirectX安装包

        3. 装完DirectX后,重新把刚刚卸载掉的两个东西装上(Visual C++ 2010 Redistributable Package→下载地址

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Assimp是一个跨平台的开源3D模型导入,它可以读取多种3D文件格式,并将它们转换成一个通用的内部数据结构。在使用Assimp之前,需要先将其编译成动态链接或静态链接,这里介绍如何使用CMake进行编译。 1. 下载Assimp源码 可以从官网https://www.assimp.org/downloads.html 下载最新版本的Assimp源码。 2. 创建CMakeLists.txt文件 在Assimp源码目录下创建一个名为CMakeLists.txt的文件,该文件用于定义编译Assimp的配置。 示例: ```cmake cmake_minimum_required(VERSION 3.0) project(assimp) set(CMAKE_CXX_STANDARD 11) option(BUILD_SHARED_LIBS "Build shared libraries" ON) option(ASSIMP_BUILD_STATIC_LIB "Build static library" OFF) option(ASSIMP_BUILD_TESTS "Build test programs" OFF) option(ASSIMP_BUILD_ASSIMP_TOOLS "Build Assimp tools" OFF) option(ASSIMP_BUILD_SAMPLES "Build samples" OFF) if (CMAKE_SYSTEM_NAME MATCHES "Linux") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden -fPIC") elseif (CMAKE_SYSTEM_NAME MATCHES "Windows") add_definitions(-DASSIMP_BUILD_DLL_EXPORT) endif() add_subdirectory(code) if (ASSIMP_BUILD_SAMPLES) add_subdirectory(samples) endif() if (ASSIMP_BUILD_ASSIMP_TOOLS) add_subdirectory(tools) endif() if (ASSIMP_BUILD_TESTS) add_subdirectory(test) endif() ``` 以上CMakeLists.txt文件定义了以下编译选项: - `BUILD_SHARED_LIBS`:编译为动态链接。 - `ASSIMP_BUILD_STATIC_LIB`:编译为静态链接。 - `ASSIMP_BUILD_TESTS`:编译测试程序。 - `ASSIMP_BUILD_ASSIMP_TOOLS`:编译Assimp工具。 - `ASSIMP_BUILD_SAMPLES`:编译Assimp示例。 3. 编译Assimp 在Assimp源码目录下创建一个名为build的目录,用于存放编译生成的文件。 在终端中进入build目录,执行以下命令: ```bash cmake .. make make install ``` 其中,cmake .. 命令表示在当前目录下查找CMakeLists.txt文件,并生成Makefile文件。 make 命令表示使用Makefile文件进行编译。 make install 命令表示将编译生成的文件安装到系统中。 4. 使用Assimp 编译成功后,可以在编译生成的目录中找到libassimp.so或libassimp.a文件,如果使用动态链接方式编译Assimp,则需要将其复制到系统目录中,或将其路径添加到LD_LIBRARY_PATH环境变量中。 在使用Assimp时,只需要在代码中包含头文件并链接即可。 示例: ```cpp #include <assimp/Importer.hpp> #include <assimp/scene.h> #include <assimp/postprocess.h> int main() { // 使用Assimp加载模型文件 Assimp::Importer importer; const aiScene* scene = importer.ReadFile("model.obj", aiProcess_Triangulate | aiProcess_FlipUVs); // 处理模型数据 // ... return 0; } ``` 链接: - 动态链接:-lassimp - 静态链接:libassimp.a

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值