sparseLM在VS2010 win7-x64 环境下配置
2017-02-23 10:18
162 查看
sparseLM 稀疏矩阵的非线性最小二乘 LM算法。
第一步,sparseLM首先需要安装suitesparse库。参考链接:
http://blog.csdn.net/xiamentingtao/article/details/50100549#reply
这次我们重点讲解一下如何安装suitesparse库。
SuiteSparse是世界上最优秀的稀疏矩阵处理工程之一。SuiteSparse是一组C、Fortran和MATLAB函数集,用来生成空间稀疏矩阵数据。在SuiteSparse中几何多种稀疏矩阵的处理方法,包括矩阵的LU分解,QR分解,Cholesky分解,提供了解非线性方程组、实现最小二乘法等多种函数代码。
SuitSparse包含了众多的依赖库,例如:blas库、lapack库、cholmod库等,所以安装很复杂。不过值得庆幸的是,国外早有大牛已经实现了在windows,Linux或者mac等所平台上的cmake脚本,具体参考Github项目<<suitesparse-metis-for-windows>>
https://github.com/jlblancoc/suitesparse-metis-for-windows/tree/v1.3.0
打开Github,会发现作者已经写了详细的安装流程,不过经过我亲测,还是有很多的陷阱。所以我将一步步地将所有的步骤给大家讲清楚,希望大家也能将自己学习历程中一些重要的知识分享出来,共建我们的开源社区。
先说一下我的配置:
Windows 7 SP1, Visual studio 2008, cmake 2.8.
下面正式开始:
1. 安装Cmake
2. 下载或克隆Gthub上最新的项目版本,本版本为v1.3.0,然后解压到某个本地文件下,我们暂称这个路径为SP_ROOT,我这里是F:\suitsparse\suitesparse-metis-vs2008
我的如图所示:
这里注意:我们看到Gtihub上建议我们分别下载 SuiteSparse-X.Y.Z.tar.gz和 metis-X.Y.Z.tar.gz.(建议metis版本在5以下,比如metis-4.0.3,或者不要覆盖它),然后覆盖它原来所含的源代码。这里我觉得有点矛盾,因为我们打开https://github.com/jlblancoc/suitesparse-metis-for-windows/releases,就会看到v1.3.0的更新说明:
For the convenience of users, SuiteSparse+METIS souces are now also bundled in this package.
Support for CUDA builds (Enable
所以根本没有必要下载上面两个文件,用它的就可以了。当然了,你重新下载两个文件,并覆盖原来的文件也是可行的。只要你按照它的说明去做即可。(再说一遍,最好不要覆盖这两个文件)
3.
打开 SP_ROOT/
cmake_policy(SET CMP0022 NEW),
即:
[cpp] view plain copy
cmake_minimum_required(VERSION 2.8)
project(METIS)
cmake_policy(SET CMP0022 NEW)
set(GKLIB_PATH "GKlib" CACHE PATH "path to GKlib")
set(SHARED FALSE CACHE BOOL "build a shared library")
if(MSVC)
set(METIS_INSTALL FALSE)
else()
set(METIS_INSTALL TRUE)
endif()
# Configure libmetis library.
if(SHARED)
set(METIS_LIBRARY_TYPE SHARED)
else()
set(METIS_LIBRARY_TYPE STATIC)
endif(SHARED)
include(${GKLIB_PATH}/GKlibSystem.cmake)
# Add include directories.
include_directories(${GKLIB_PATH})
include_directories(include)
# Recursively look for CMakeLists.txt in subdirs.
add_subdirectory("include")
add_subdirectory("libmetis")
add_subdirectory("programs")
另外,如果你要使用CUDA,注意版本,具体见图:
4. 运行 CMake (cmake-gui),
然后:
设置"Source
code"为SP_ROOT
设置"Build"
路径为任何空的路径,一般SP_ROOT/build
按 "Configure"。
然后你会发现有很多红的地方,你可以点击它们,再"Configure",尤其注意的是为了避免一些编译器中关于复数可能会出
错,HAVE_COMPLEX 被关闭。(但是经过我在平台上再三测试,你最好不要去勾,否则很容易在后面的编译阶段发生错误.)
按 "Generate"
如图:
5.编译和安装
在Visual Studio,打开SuiteSparseProject.sln,并且建立Debug
和Release两种模式下的
可能会出现很多的警告,不过一切都是OK的。
6.注意: SuiteSparseConfig.cmake应该位于install路径下,它将用于你的项目正确地连接到SuiteSparse
如图即为cmake的结果:
这样的话,就安装好了
第二步,安装sparseLM,在用CMAKE编译SparseLM的时候,需要修改一些库的名称,截图如下:
修改后,使用VS打开,先编译splm;不要编译demo,不知为何,系统提供的demo环境有问题,后来我手动重新创建了一个工程,导入各种库,
INCLUDE:
LIBRARY
splm.lib
libcholmod.lib
libamd.lib
libcamd.lib
libcolamd.lib
libccolamd.lib
libcxsparse.lib
libklu.lib
libldl.lib
libspqr.lib
libumfpack.lib
metis.lib
suitesparseconfig.lib
liblapack.lib
libblas.lib
把。dll文件复制到debug路径下,完成了demo的运行。
例程解析参考:http://blog.csdn.net/u012348774/article/details/51106287
第一步,sparseLM首先需要安装suitesparse库。参考链接:
http://blog.csdn.net/xiamentingtao/article/details/50100549#reply
这次我们重点讲解一下如何安装suitesparse库。
SuiteSparse是世界上最优秀的稀疏矩阵处理工程之一。SuiteSparse是一组C、Fortran和MATLAB函数集,用来生成空间稀疏矩阵数据。在SuiteSparse中几何多种稀疏矩阵的处理方法,包括矩阵的LU分解,QR分解,Cholesky分解,提供了解非线性方程组、实现最小二乘法等多种函数代码。
SuitSparse包含了众多的依赖库,例如:blas库、lapack库、cholmod库等,所以安装很复杂。不过值得庆幸的是,国外早有大牛已经实现了在windows,Linux或者mac等所平台上的cmake脚本,具体参考Github项目<<suitesparse-metis-for-windows>>
https://github.com/jlblancoc/suitesparse-metis-for-windows/tree/v1.3.0
打开Github,会发现作者已经写了详细的安装流程,不过经过我亲测,还是有很多的陷阱。所以我将一步步地将所有的步骤给大家讲清楚,希望大家也能将自己学习历程中一些重要的知识分享出来,共建我们的开源社区。
先说一下我的配置:
Windows 7 SP1, Visual studio 2008, cmake 2.8.
下面正式开始:
1. 安装Cmake
2. 下载或克隆Gthub上最新的项目版本,本版本为v1.3.0,然后解压到某个本地文件下,我们暂称这个路径为SP_ROOT,我这里是F:\suitsparse\suitesparse-metis-vs2008
我的如图所示:
这里注意:我们看到Gtihub上建议我们分别下载 SuiteSparse-X.Y.Z.tar.gz和 metis-X.Y.Z.tar.gz.(建议metis版本在5以下,比如metis-4.0.3,或者不要覆盖它),然后覆盖它原来所含的源代码。这里我觉得有点矛盾,因为我们打开https://github.com/jlblancoc/suitesparse-metis-for-windows/releases,就会看到v1.3.0的更新说明:
For the convenience of users, SuiteSparse+METIS souces are now also bundled in this package.
Support for CUDA builds (Enable
WITH_CUDA)
所以根本没有必要下载上面两个文件,用它的就可以了。当然了,你重新下载两个文件,并覆盖原来的文件也是可行的。只要你按照它的说明去做即可。(再说一遍,最好不要覆盖这两个文件)
3.
打开 SP_ROOT/
metis/CMakeLists.txt,在行project(METIS)后面加上命令
cmake_policy(SET CMP0022 NEW),
即:
[cpp] view plain copy
cmake_minimum_required(VERSION 2.8)
project(METIS)
cmake_policy(SET CMP0022 NEW)
set(GKLIB_PATH "GKlib" CACHE PATH "path to GKlib")
set(SHARED FALSE CACHE BOOL "build a shared library")
if(MSVC)
set(METIS_INSTALL FALSE)
else()
set(METIS_INSTALL TRUE)
endif()
# Configure libmetis library.
if(SHARED)
set(METIS_LIBRARY_TYPE SHARED)
else()
set(METIS_LIBRARY_TYPE STATIC)
endif(SHARED)
include(${GKLIB_PATH}/GKlibSystem.cmake)
# Add include directories.
include_directories(${GKLIB_PATH})
include_directories(include)
# Recursively look for CMakeLists.txt in subdirs.
add_subdirectory("include")
add_subdirectory("libmetis")
add_subdirectory("programs")
另外,如果你要使用CUDA,注意版本,具体见图:
4. 运行 CMake (cmake-gui),
然后:
设置"Source
code"为SP_ROOT
设置"Build"
路径为任何空的路径,一般SP_ROOT/build
按 "Configure"。
然后你会发现有很多红的地方,你可以点击它们,再"Configure",尤其注意的是为了避免一些编译器中关于复数可能会出
错,HAVE_COMPLEX 被关闭。(但是经过我在平台上再三测试,你最好不要去勾,否则很容易在后面的编译阶段发生错误.)
按 "Generate"
如图:
5.编译和安装
在Visual Studio,打开SuiteSparseProject.sln,并且建立Debug
和Release两种模式下的
INSTALL工程(设为启动项目)。
可能会出现很多的警告,不过一切都是OK的。
6.注意: SuiteSparseConfig.cmake应该位于install路径下,它将用于你的项目正确地连接到SuiteSparse
如图即为cmake的结果:
这样的话,就安装好了
第二步,安装sparseLM,在用CMAKE编译SparseLM的时候,需要修改一些库的名称,截图如下:
修改后,使用VS打开,先编译splm;不要编译demo,不知为何,系统提供的demo环境有问题,后来我手动重新创建了一个工程,导入各种库,
INCLUDE:
LIBRARY
splm.lib
libcholmod.lib
libamd.lib
libcamd.lib
libcolamd.lib
libccolamd.lib
libcxsparse.lib
libklu.lib
libldl.lib
libspqr.lib
libumfpack.lib
metis.lib
suitesparseconfig.lib
liblapack.lib
libblas.lib
把。dll文件复制到debug路径下,完成了demo的运行。
例程解析参考:http://blog.csdn.net/u012348774/article/details/51106287
相关文章推荐
- Kinect开发环境配置:Kinect for Windows SDK + OpenCV2.4.10 + VS2010 + Win7(x64)
- win7 x64 vs2010 directShow开发环境配置
- Win7环境下VS2010配置Cocos2d-x-2.1.4最新版本
- Win7环境下VS2010配置Cocos2d-x-2.1.4最新版本的开发环境(亲测)
- 【学习笔记1 --- Cocos2d-x开发环境配置 + Win7 + VS2010】
- Win7环境下VS2010配置Cocos2d-x-2.1.4最新版本的开发环境(亲测)
- win7 x64环境下载、安装、配置jdk-7u7
- Win7环境下VS2010配置Cocos2d-x-2.1.4最新版本
- Win7环境下VS2010配置Cocos2d-x-2.1.4最新版本的开发环境(亲测)
- OpenCV 2.4.6 + VS2010 + win7 环境配置
- 嵌入式 win7下配置开发环境和VS2010联合使用
- Win7环境下VS2010配置Cocos2d-x-2.1.4最新版本的开发环境(亲测)
- Win7环境下VS2010配置Cocos2d-x-2.1.4最新版本的开发环境
- Win7环境下VS2010配置Cocos2d-x-2.1.4最新版本的开发环境(亲测)
- win7环境中vs2010中opengl配置
- 【转】Win7环境下VS2010配置Cocos2d-x-2.1.4最新版本的开发环境(亲测)
- GPU(CUDA)学习日记(四)----------VS2010 + win7 32位 + CUDA 4.2 环境配置以及一些小问题的解决
- Win7环境下VS2010配置Cocos2d-x-2.1.4最新版本的开发环境(转载)
- Win7环境下VS2010配置Cocos2d-x-2.1.4最新版本的开发环境(亲测)
- Win7环境下VS2010配置Cocos2d-x-2.1.4最新版本的开发环境(亲测)