编译好的版本放到了这里,包括静态库和动态库。大家直接用吧。
http://download.csdn.net/detail/liyuanbhu/9618257
Visual Stdio C++ 编译器 编译 (GSL) GNU Scientific Library 的方法介绍(6)
gsl_randist 模块
多个文件中的 inline 需改为 __inline。
项目文件如下:
#-------------------------------------------------
#
# Project created by QtCreator 2016-08-26T20:38:46
#
#-------------------------------------------------
QT -= core gui
TARGET = gsl_randist
TEMPLATE = lib
CONFIG += staticlib
INCLUDEPATH += ./include/
SOURCES += \
source/randist/bernoulli.c \
source/randist/beta.c \
source/randist/bigauss.c \
source/randist/binomial.c \
source/randist/binomial_tpe.c \
source/randist/cauchy.c \
source/randist/chisq.c \
source/randist/dirichlet.c \
source/randist/discrete.c \
source/randist/erlang.c \
source/randist/exponential.c \
source/randist/exppow.c \
source/randist/fdist.c \
source/randist/flat.c \
source/randist/gamma.c \
source/randist/gauss.c \
source/randist/gausstail.c \
source/randist/gausszig.c \
source/randist/geometric.c \
source/randist/gumbel.c \
source/randist/hyperg.c \
source/randist/landau.c \
source/randist/laplace.c \
source/randist/levy.c \
source/randist/logarithmic.c \
source/randist/logistic.c \
source/randist/lognormal.c \
source/randist/multinomial.c \
source/randist/nbinomial.c \
source/randist/pareto.c \
source/randist/pascal.c \
source/randist/poisson.c \
source/randist/rayleigh.c \
source/randist/shuffle.c \
source/randist/sphere.c \
source/randist/tdist.c \
source/randist/weibull.c
unix {
target.path = /usr/lib
INSTALLS += target
}
DISTFILES +=
gsl_cdf 模块
项目文件:
#-------------------------------------------------
#
# Project created by QtCreator 2016-08-26T20:38:46
#
#-------------------------------------------------
QT -= core gui
TARGET = gsl_cdf
TEMPLATE = lib
CONFIG += staticlib
INCLUDEPATH += ./include/
SOURCES += \
source/cdf/beta.c \
source/cdf/betainv.c \
source/cdf/binomial.c \
source/cdf/cauchy.c \
source/cdf/cauchyinv.c \
source/cdf/chisq.c \
source/cdf/chisqinv.c \
source/cdf/exponential.c \
source/cdf/exponentialinv.c \
source/cdf/exppow.c \
source/cdf/fdist.c \
source/cdf/fdistinv.c \
source/cdf/flat.c \
source/cdf/flatinv.c \
source/cdf/gamma.c \
source/cdf/gammainv.c \
source/cdf/gauss.c \
source/cdf/gaussinv.c \
source/cdf/geometric.c \
source/cdf/gumbel1.c \
source/cdf/gumbel1inv.c \
source/cdf/gumbel2.c \
source/cdf/gumbel2inv.c \
source/cdf/hypergeometric.c \
source/cdf/laplace.c \
source/cdf/laplaceinv.c \
source/cdf/logistic.c \
source/cdf/logisticinv.c \
source/cdf/lognormal.c \
source/cdf/lognormalinv.c \
source/cdf/nbinomial.c \
source/cdf/pareto.c \
source/cdf/paretoinv.c \
source/cdf/pascal.c \
source/cdf/poisson.c \
source/cdf/rayleigh.c \
source/cdf/rayleighinv.c \
source/cdf/tdist.c \
source/cdf/tdistinv.c \
source/cdf/weibull.c \
source/cdf/weibullinv.c
unix {
target.path = /usr/lib
INSTALLS += target
}
DISTFILES +=
gsl_statistics 模块
项目文件:
#-------------------------------------------------
#
# Project created by QtCreator 2016-08-26T20:38:46
#
#-------------------------------------------------
QT -= core gui
TARGET = gsl_statistics
TEMPLATE = lib
CONFIG += staticlib
INCLUDEPATH += ./include/
SOURCES += \
source/statistics/absdev.c \
source/statistics/covariance.c \
source/statistics/kurtosis.c \
source/statistics/lag1.c \
source/statistics/mean.c \
source/statistics/median.c \
source/statistics/minmax.c \
source/statistics/p_variance.c \
source/statistics/quantiles.c \
source/statistics/skew.c \
source/statistics/ttest.c \
source/statistics/variance.c \
source/statistics/wabsdev.c \
source/statistics/wkurtosis.c \
source/statistics/wmean.c \
source/statistics/wskew.c \
source/statistics/wvariance.c
unix {
target.path = /usr/lib
INSTALLS += target
}
DISTFILES +=
gsl_histogram 模块
项目文件:
#-------------------------------------------------
#
# Project created by QtCreator 2016-08-26T20:38:46
#
#-------------------------------------------------
QT -= core gui
TARGET = gsl_histogram
TEMPLATE = lib
CONFIG += staticlib
INCLUDEPATH += ./include/
SOURCES += \
source/histogram/add.c \
source/histogram/add2d.c \
source/histogram/calloc_range.c \
source/histogram/calloc_range2d.c \
source/histogram/copy.c \
source/histogram/copy2d.c \
source/histogram/file.c \
source/histogram/file2d.c \
source/histogram/get.c \
source/histogram/get2d.c \
source/histogram/init.c \
source/histogram/init2d.c \
source/histogram/maxval.c \
source/histogram/maxval2d.c \
source/histogram/oper.c \
source/histogram/oper2d.c \
source/histogram/params.c \
source/histogram/params2d.c \
source/histogram/pdf.c \
source/histogram/pdf2d.c \
source/histogram/reset.c \
source/histogram/reset2d.c \
source/histogram/stat.c \
source/histogram/stat2d.c
unix {
target.path = /usr/lib
INSTALLS += target
}
DISTFILES +=
gsl_ntuple 模块
项目文件:
#-------------------------------------------------
#
# Project created by QtCreator 2016-08-26T20:38:46
#
#-------------------------------------------------
QT -= core gui
TARGET = gsl_ntuple
TEMPLATE = lib
CONFIG += staticlib
INCLUDEPATH += ./include/
SOURCES += \
source/ntuple/ntuple.c
unix {
target.path = /usr/lib
INSTALLS += target
}
DISTFILES +=
gsl_monte 模块
项目文件:
#-------------------------------------------------
#
# Project created by QtCreator 2016-08-26T20:38:46
#
#-------------------------------------------------
QT -= core gui
TARGET = gsl_monte
TEMPLATE = lib
CONFIG += staticlib
INCLUDEPATH += ./include/
SOURCES += \
source/monte/miser.c \
source/monte/plain.c \
source/monte/vegas.c
unix {
target.path = /usr/lib
INSTALLS += target
}
DISTFILES +=
gsl_siman 模块
siman.c 里面的 inline 全都替换为 __inline。
siman_tsp.c 里面包含了 gsl_ieee_utils.h, 所以需要将gsl_ieee_utils.h 拷贝到 include/gsl目录中。
项目文件:
#-------------------------------------------------
#
# Project created by QtCreator 2016-08-26T20:38:46
#
#-------------------------------------------------
QT -= core gui
TARGET = gsl_siman
TEMPLATE = lib
CONFIG += staticlib
INCLUDEPATH += ./include/
SOURCES += \
source/siman/siman.c \
source/siman/siman_tsp.c
unix {
target.path = /usr/lib
INSTALLS += target
}
DISTFILES +=
gsl_odeiv 模块
gsl 从版本 1.5 开始,引入了新的常微分方程初值问题的 api 接口。但是旧的接口也仍然保留着。
gsl_odeiv 模块对应的就是旧的常微分方程初值问题的 api 接口,新程序还是应尽量使用下一节介绍的 gsl_odeiv2 中的 api 接口。
项目文件:
#-------------------------------------------------
#
# Project created by QtCreator 2016-08-26T20:38:46
#
#-------------------------------------------------
QT -= core gui
TARGET = gsl_odeiv
TEMPLATE = lib
CONFIG += staticlib
INCLUDEPATH += ./include/
SOURCES += \
source/ode-initval/bsimp.c \
source/ode-initval/control.c \
source/ode-initval/cscal.c \
source/ode-initval/cstd.c \
source/ode-initval/evolve.c \
source/ode-initval/gear1.c \
source/ode-initval/gear2.c \
source/ode-initval/rk2.c \
source/ode-initval/rk2imp.c \
source/ode-initval/rk2simp.c \
source/ode-initval/rk4.c \
source/ode-initval/rk4imp.c \
source/ode-initval/rk8pd.c \
source/ode-initval/rkck.c \
source/ode-initval/rkf45.c \
source/ode-initval/step.c
unix {
target.path = /usr/lib
INSTALLS += target
}
DISTFILES +=
gsl_odeiv2 模块
项目文件:
#-------------------------------------------------
#
# Project created by QtCreator 2016-08-26T20:38:46
#
#-------------------------------------------------
QT -= core gui
TARGET = gsl_odeiv2
TEMPLATE = lib
CONFIG += staticlib
INCLUDEPATH += ./include/
SOURCES += \
source/ode-initval2/bsimp.c \
source/ode-initval2/control.c \
source/ode-initval2/control_utils.c \
source/ode-initval2/cscal.c \
source/ode-initval2/cstd.c \
source/ode-initval2/driver.c \
source/ode-initval2/evolve.c \
source/ode-initval2/modnewton1.c \
source/ode-initval2/msadams.c \
source/ode-initval2/msbdf.c \
source/ode-initval2/rk1imp.c \
source/ode-initval2/rk2.c \
source/ode-initval2/rk2imp.c \
source/ode-initval2/rk4.c \
source/ode-initval2/rk4imp.c \
source/ode-initval2/rk8pd.c \
source/ode-initval2/rkck.c \
source/ode-initval2/rkf45.c \
source/ode-initval2/rksubs.c \
source/ode-initval2/step.c \
source/ode-initval2/step_utils.c
unix {
target.path = /usr/lib
INSTALLS += target
}
DISTFILES +=
gsl_interp 模块
有两个文件中有 inline ,需替换为 __inline。
项目文件:
#-------------------------------------------------
#
# Project created by QtCreator 2016-08-26T20:38:46
#
#-------------------------------------------------
QT -= core gui
TARGET = gsl_interp
TEMPLATE = lib
CONFIG += staticlib
INCLUDEPATH += ./include/
SOURCES += \
source/interpolation/accel.c \
source/interpolation/akima.c \
source/interpolation/bicubic.c \
source/interpolation/bilinear.c \
source/interpolation/cspline.c \
source/interpolation/inline.c \
source/interpolation/interp.c \
source/interpolation/interp2d.c \
source/interpolation/linear.c \
source/interpolation/poly.c \
source/interpolation/spline.c \
source/interpolation/spline2d.c \
source/interpolation/steffen.c
unix {
target.path = /usr/lib
INSTALLS += target
}
DISTFILES +=
gsl_deriv 模块
项目文件:
#-------------------------------------------------
#
# Project created by QtCreator 2016-08-26T20:38:46
#
#-------------------------------------------------
QT -= core gui
TARGET = gsl_deriv
TEMPLATE = lib
CONFIG += staticlib
INCLUDEPATH += ./include/
SOURCES += \
source/deriv/deriv.c
unix {
target.path = /usr/lib
INSTALLS += target
}
DISTFILES +=
gsl_cheb 模块
项目文件:
#-------------------------------------------------
#
# Project created by QtCreator 2016-08-26T20:38:46
#
#-------------------------------------------------
QT -= core gui
TARGET = gsl_cheb
TEMPLATE = lib
CONFIG += staticlib
INCLUDEPATH += ./include/
SOURCES += \
source/cheb/deriv.c \
source/cheb/eval.c \
source/cheb/init.c \
source/cheb/integ.c
unix {
target.path = /usr/lib
INSTALLS += target
}
DISTFILES +=
gsl_sum 模块
这个模块要用到 gsl_test.h 的一些内容。所以需要将 gsl_test.h 拷贝到 include/gsl 目录中。
项目文件:
#-------------------------------------------------
#
# Project created by QtCreator 2016-08-26T20:38:46
#
#-------------------------------------------------
QT -= core gui
TARGET = gsl_sum
TEMPLATE = lib
CONFIG += staticlib
INCLUDEPATH += ./include/
SOURCES += \
source/sum/levin_u.c \
source/sum/levin_utrunc.c \
source/sum/work_u.c \
source/sum/work_utrunc.c
unix {
target.path = /usr/lib
INSTALLS += target
}
DISTFILES +=
gsl_wavelet 模块
项目文件:
#-------------------------------------------------
#
# Project created by QtCreator 2016-08-26T20:38:46
#
#-------------------------------------------------
QT -= core gui
TARGET = gsl_wavelet
TEMPLATE = lib
CONFIG += staticlib
INCLUDEPATH += ./include/
SOURCES += \
source/wavelet/bspline.c \
source/wavelet/daubechies.c \
source/wavelet/dwt.c \
source/wavelet/haar.c \
source/wavelet/wavelet.c
unix {
target.path = /usr/lib
INSTALLS += target
}
DISTFILES +=