Visual Stdio C++ 编译器 编译 (GSL) GNU Scientific Library 的方法介绍(7)

原创 2016年08月29日 20:09:04

编译好的版本放到了这里,包括静态库和动态库。大家直接用吧。
http://download.csdn.net/detail/liyuanbhu/9618257

Visual Stdio C++ 编译器 编译 (GSL) GNU Scientific Library 的方法介绍(7)

gsl_dht 模块

项目文件:

#-------------------------------------------------
#
# Project created by QtCreator 2016-08-26T20:38:46
#
#-------------------------------------------------

QT       -= core gui

TARGET = gsl_dht
TEMPLATE = lib
CONFIG += staticlib

INCLUDEPATH += ./include/

SOURCES += \
    source/dht/dht.c

unix {
    target.path = /usr/lib
    INSTALLS += target
}

DISTFILES +=

gsl_roots 模块

项目文件:

#-------------------------------------------------
#
# Project created by QtCreator 2016-08-26T20:38:46
#
#-------------------------------------------------

QT       -= core gui

TARGET = gsl_roots
TEMPLATE = lib
CONFIG += staticlib

INCLUDEPATH += ./include/

SOURCES += \
    source/roots/bisection.c \
    source/roots/brent.c \
    source/roots/convergence.c \
    source/roots/falsepos.c \
    source/roots/fdfsolver.c \
    source/roots/fsolver.c \
    source/roots/newton.c \
    source/roots/secant.c \
    source/roots/steffenson.c

unix {
    target.path = /usr/lib
    INSTALLS += target
}

DISTFILES +=

gsl_min 模块

项目文件:

#-------------------------------------------------
#
# Project created by QtCreator 2016-08-26T20:38:46
#
#-------------------------------------------------

QT       -= core gui

TARGET = gsl_min
TEMPLATE = lib
CONFIG += staticlib

INCLUDEPATH += ./include/

SOURCES += \
    source/min/bracketing.c \
    source/min/brent.c \
    source/min/convergence.c \
    source/min/fsolver.c \
    source/min/golden.c \
    source/min/quad_golden.c

unix {
    target.path = /usr/lib
    INSTALLS += target
}

DISTFILES +=

gsl_multiroots 模块

项目文件:

#-------------------------------------------------
#
# Project created by QtCreator 2016-08-26T20:38:46
#
#-------------------------------------------------

QT       -= core gui

TARGET = gsl_multiroots
TEMPLATE = lib
CONFIG += staticlib

INCLUDEPATH += ./include/

SOURCES += \
    source/multiroots/broyden.c \
    source/multiroots/convergence.c \
    source/multiroots/dnewton.c \
    source/multiroots/fdfsolver.c \
    source/multiroots/fdjac.c \
    source/multiroots/fsolver.c \
    source/multiroots/gnewton.c \
    source/multiroots/hybrid.c \
    source/multiroots/hybridj.c \
    source/multiroots/newton.c

unix {
    target.path = /usr/lib
    INSTALLS += target
}

DISTFILES +=

gsl_multimin 模块

源代码中有一处 inline 需改为 __inline。
项目文件:

#-------------------------------------------------
#
# Project created by QtCreator 2016-08-26T20:38:46
#
#-------------------------------------------------

QT       -= core gui

TARGET = gsl_multimin
TEMPLATE = lib
CONFIG += staticlib

INCLUDEPATH += ./include/

SOURCES += \
    source/multimin/conjugate_fr.c \
    source/multimin/conjugate_pr.c \
    source/multimin/convergence.c \
    source/multimin/diff.c \
    source/multimin/fdfminimizer.c \
    source/multimin/fminimizer.c \
    source/multimin/linear_minimize.c \
    source/multimin/simplex.c \
    source/multimin/simplex2.c \
    source/multimin/steepest_descent.c \
    source/multimin/vector_bfgs.c \
    source/multimin/vector_bfgs2.c

unix {
    target.path = /usr/lib
    INSTALLS += target
}

DISTFILES +=

gsl_fit 模块

项目文件:

#-------------------------------------------------
#
# Project created by QtCreator 2016-08-26T20:38:46
#
#-------------------------------------------------

QT       -= core gui

TARGET = gsl_fit
TEMPLATE = lib
CONFIG += staticlib

INCLUDEPATH += ./include/

SOURCES += \
    source/fit/linear.c

unix {
    target.path = /usr/lib
    INSTALLS += target
}

DISTFILES +=

gsl_multifit 模块

项目文件:

#-------------------------------------------------
#
# Project created by QtCreator 2016-08-26T20:38:46
#
#-------------------------------------------------

QT       -= core gui

TARGET = gsl_multifit
TEMPLATE = lib
CONFIG += staticlib

INCLUDEPATH += ./include/

SOURCES += \
    source/multifit/convergence.c \
    source/multifit/covar.c \
    source/multifit/fdfridge.c \
    source/multifit/fdfsolver.c \
    source/multifit/fdjac.c \
    source/multifit/fsolver.c \
    source/multifit/gradient.c \
    source/multifit/linear_common.c \
    source/multifit/lmder.c \
    source/multifit/lmniel.c \
    source/multifit/lmpar.c \
    source/multifit/multilinear.c \
    source/multifit/multireg.c \
    source/multifit/multirobust.c \
    source/multifit/multiwlinear.c \
    source/multifit/robust_wfun.c \
    source/multifit/work.c

unix {
    target.path = /usr/lib
    INSTALLS += target
}

DISTFILES +=

gsl_multilarge 模块

项目文件:

#-------------------------------------------------
#
# Project created by QtCreator 2016-08-26T20:38:46
#
#-------------------------------------------------

QT       -= core gui

TARGET = gsl_multilarge
TEMPLATE = lib
CONFIG += staticlib

INCLUDEPATH += ./include/

SOURCES += \
    source/multilarge/multilarge.c \
    source/multilarge/normal.c \
    source/multilarge/tsqr.c

unix {
    target.path = /usr/lib
    INSTALLS += target
}

DISTFILES +=

gsl_bspline 模块

两个文件中的 inline 需改为 __inline。

项目文件:

#-------------------------------------------------
#
# Project created by QtCreator 2016-08-26T20:38:46
#
#-------------------------------------------------

QT       -= core gui

TARGET = gsl_bspline
TEMPLATE = lib
CONFIG += staticlib

INCLUDEPATH += ./include/

SOURCES += \
    source/bspline/bspline.c \
    source/bspline/greville.c

unix {
    target.path = /usr/lib
    INSTALLS += target
}

DISTFILES +=

物理常数

gsl 提供了许多物理常数的值。分别位于 gsl_const_cgs.h 、gsl_const_cgsm.h 、gsl_const_mks.h、 gsl_const_mksa.h 和 gsl_const_num.h 中,还有个 gsl_const.h 文件,包括了上面五个文件。我们只需将这六个文件从 const 目录拷贝到 include/gsl 目录中就可以了。

gsl_rstat 模块

项目文件:

#-------------------------------------------------
#
# Project created by QtCreator 2016-08-26T20:38:46
#
#-------------------------------------------------

QT       -= core gui

TARGET = gsl_rstat
TEMPLATE = lib
CONFIG += staticlib

INCLUDEPATH += ./include/

SOURCES += \
    source/rstat/rquantile.c \
    source/rstat/rstat.c

unix {
    target.path = /usr/lib
    INSTALLS += target
}

DISTFILES +=

gsl_spblas 模块

项目文件:

#-------------------------------------------------
#
# Project created by QtCreator 2016-08-26T20:38:46
#
#-------------------------------------------------

QT       -= core gui

TARGET = gsl_spblas
TEMPLATE = lib
CONFIG += staticlib

INCLUDEPATH += ./include/

SOURCES += \
    source/spblas/spdgemm.c \
    source/spblas/spdgemv.c

unix {
    target.path = /usr/lib
    INSTALLS += target
}

DISTFILES +=

gsl_spmatrix 模块

项目文件:

#-------------------------------------------------
#
# Project created by QtCreator 2016-08-26T20:38:46
#
#-------------------------------------------------

QT       -= core gui

TARGET = gsl_spmatrix
TEMPLATE = lib
CONFIG += staticlib

INCLUDEPATH += ./include/

SOURCES += \
    source/spmatrix/avl.c \
    source/spmatrix/spcompress.c \
    source/spmatrix/spcopy.c \
    source/spmatrix/spgetset.c \
    source/spmatrix/spmatrix.c \
    source/spmatrix/spoper.c \
    source/spmatrix/spprop.c \
    source/spmatrix/spswap.c

unix {
    target.path = /usr/lib
    INSTALLS += target
}

DISTFILES +=

gsl_splinalg 模块

项目文件:

#-------------------------------------------------
#
# Project created by QtCreator 2016-08-26T20:38:46
#
#-------------------------------------------------

QT       -= core gui

TARGET = gsl_splinalg
TEMPLATE = lib
CONFIG += staticlib

INCLUDEPATH += ./include/

SOURCES += \
    source/splinalg/gmres.c \
    source/splinalg/itersolve.c

unix {
    target.path = /usr/lib
    INSTALLS += target
}

DISTFILES +=

gsl_test 模块

这个模块在 gsl ref 中没有介绍,不过我们还是应该把它加进来。

项目文件:

#-------------------------------------------------
#
# Project created by QtCreator 2016-08-26T20:38:46
#
#-------------------------------------------------

QT       -= core gui

TARGET = gsl_test
TEMPLATE = lib
CONFIG += staticlib

INCLUDEPATH += ./include/

SOURCES += source/test/results.c

unix {
    target.path = /usr/lib
    INSTALLS += target
}

DISTFILES +=

gsl_diff 模块

diff 目录,数值差分功能,已经被 gsl_deriv 模块替代了。这里为了向前兼容,还是做了这个模块。

项目文件如下:

#-------------------------------------------------
#
# Project created by QtCreator 2016-08-26T20:38:46
#
#-------------------------------------------------

QT       -= core gui

TARGET = gsl_diff
TEMPLATE = lib
CONFIG += staticlib

INCLUDEPATH += ./include/

SOURCES +=    source/diff/diff.c

unix {
    target.path = /usr/lib
    INSTALLS += target
}

DISTFILES +=

gsl_utils 模块

utils 目录提供了一些辅助函数,这些函数都用不到。为了完整性,我们还是保留了这个模块。
项目文件:

#-------------------------------------------------
#
# Project created by QtCreator 2016-08-26T20:38:46
#
#-------------------------------------------------

QT       -= core gui

TARGET = gsl_utils
TEMPLATE = lib
CONFIG += staticlib

INCLUDEPATH += ./include/

SOURCES += \
    source/utils/placeholder.c

unix {
    target.path = /usr/lib
    INSTALLS += target
}

DISTFILES +=

gsl_version 模块

这个其实都不能算是一个模块,只是一个全局变量,存放了版本号。不过我实在是不知道该把它放到哪里,最后就把它单独拿出来做成一个模块了。

将 gsl_version.h 拷贝到 include 目录中。
将 gsl_version.c 拷贝到 source 目录中。

项目文件:

#-------------------------------------------------
#
# Project created by QtCreator 2016-08-26T20:38:46
#
#-------------------------------------------------

QT       -= core gui

TARGET = gsl_version
TEMPLATE = lib
CONFIG += staticlib

INCLUDEPATH += ./include/

SOURCES +=  source/version.c

unix {
    target.path = /usr/lib
    INSTALLS += target
}

DISTFILES +=

下篇博客介绍最后一个模块 gsl_ieee。这个模块里包含 ieee 浮点数精度设置等的内容。需要改动的地方比较多。所以准备单独拿出来说说。

相关文章推荐

C/C++ GNU Scientific Library(GSL) for Windows

我的工作很简单,就是想让 GSL 能够正常的在 windows 下工作。最简单的一种方法就是 安装 Cygwin, Cygwin 中已经自带了一套编译好了的 GSL.第二种方法就是在 windows ...

GNU Scientific Library (GSL)C++科学计算库

  • 2012年05月16日 19:21
  • 11.02MB
  • 下载

Windows下使用GSL(GNU Scientific Library)

GSL的主页:http://www.gnu.org/software/gsl/,非windows版本的下载地址:ftp://ftp.gnu.org/gnu/gsl/ 第一种: 安装 Cygwin,主...

GSL - GNU Scientific Library 在 windows 上的使用

GSL - GNU Scientific Library 在 windows 上的使用 windows10 vs2013 Cmake GSL

GSL--GNU Scientific Library

GSL(GNU Scientific Library)是一个 C 写成的用于科学计算的库,下面是一些相关的包 Desired=Unknown/Install/Remove/Purge/Hold | ...

【GSL】GNU Scientific Library 科学计算库VS2010安装配置

GNU Scientific Library (GSL)是一个开源的科学计算的函数库,里面有大量的数学计算函数,非常强大,有下面几个模块: 转载请注明出处:http://blog.csdn.net/x...

最强数学库GSL(GNU Scientific Library) Qt环境下部署

GSL(GNU Scientific Library)是一个 C 写成的用于科学计算的库,有超过1000个函数,该库提供了关于数学计算的很多方面,Matlab的大部分函数几乎都能借助它实现,可以在数值...

GSL - GNU Scientific Library

  • 2014年10月23日 16:09
  • 3.37MB
  • 下载

GNU科学计算函数库 GSL - GNU Scientific Library

GNU科学计算函数库GSL(GNU Scientific Library)是一个强大的C/C++数值计算函数库,它是一个自由软件,是GNU项目软件的一个部分,遵循GPL协议。目前GSL的最新版本是1....
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Visual Stdio C++ 编译器 编译 (GSL) GNU Scientific Library 的方法介绍(7)
举报原因:
原因补充:

(最多只允许输入30个字)