You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Eigen编译为.so、共享库及DLL文件?

将Eigen编译为共享库(.so)和DLL的方法

Linux 平台编译 .so 共享库

  • 获取Eigen源码包并解压,进入源码根目录
  • 创建并切换到构建目录:
    mkdir build && cd build
    
  • 执行CMake配置,开启共享库编译选项:
    cmake -DBUILD_SHARED_LIBS=ON -DEIGEN_BUILD_DOC=OFF -DEIGEN_BUILD_TESTING=OFF ..
    
    关闭文档和测试编译可大幅加快构建速度
  • 启动编译:
    make -j$(nproc)
    
  • 编译完成后,build/lib目录下会生成libeigen3.so(或同系列命名的共享库文件),可将其复制到系统库目录(如/usr/local/lib),或在链接其他库时指定该文件路径。

Windows 平台编译 DLL

  • 下载Eigen源码并解压,打开CMake GUI工具
  • 设置Eigen源码根目录为Where is the source code,新建一个build文件夹作为Where to build the binaries路径
  • 点击Configure,选择对应版本的Visual Studio(如VS2022)及目标平台(x64/x86)
  • 在CMake变量列表中勾选BUILD_SHARED_LIBS,同时取消EIGEN_BUILD_DOC和EIGEN_BUILD_TESTING选项
  • 再次点击Configure直到无红色未配置项,点击Generate生成VS工程文件
  • 打开生成的VS工程,切换到Release模式,右键点击INSTALL项目选择生成
  • 编译完成后,构建目录的bin/Release下会生成eigen3.dll,lib/Release下会得到对应的导入库eigen3.lib,后续链接其他项目时需使用该导入库。

注意:Eigen本质以模板库为主,编译为共享库后仅会预编译部分模板实例,多数模板仍需在使用时实时实例化。该方案可减少其他共享库对Eigen头文件的直接依赖,但需注意模板实例化的版本兼容性问题。

内容的提问来源于stack exchange,提问作者xxxLD

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 00:47:01