本例程使用CLion + msys2开发,主要介绍mingw64和GSL(GNU Scientific Library)安装和项目配置。
测试环境:CLion + msys2 + GSL
安装mingw64和GSL
没有安装msys2的,可以去msys2下载,msys2国内源配置见MSYS2 镜像使用帮助。
配置完成后,运行msys2.exe
。
安装mingw64:
pacman -S mingw-w64-x86_64-gcc mingw-w64-x86_64-make mingw-w64-x86_64-gdb mingw-w64-x86_64-binutils
安装GSL
pacman -S mingw-w64-x86_64-gsl
安装完成后,建议把D:\msys64\mingw64\bin
添加到环境变量中。
配置项目
主要难点在于CMake的配置,本demo比较简单,在CMakeLists.txt
里面添加target_link_libraries(gsldemo -lgsl -lgslcblas -lm)
即可。
配置Toolchains
先用CLion新建一个C Executable
项目,然后配置Toolchains。
配置CMake
主要是添加链接库和参数,具体内容如下:
cmake_minimum_required(VERSION 3.15)
project(gsldemo C)
set(CMAKE_C_STANDARD 99)
add_executable(gsldemo main.c)
target_link_libraries(gsldemo -lgsl -lgslcblas -lm)
测试
按文档写了个简单的测试demo,详细文档见GNU Scientific Library。
#include <stdio.h>
#include <gsl/gsl_sf_bessel.h>
#include "gsl/gsl_statistics_float.h"
int main (void)
{
double x = 5.0;
double y = gsl_sf_bessel_J0 (x);
float d[10] = {1,2,1,9,4,6,7,4,2,6};
printf ("J0(%g) = %.18e\n", x, y);
printf("min=%f\n", gsl_stats_float_min(d, 1, 10));
printf("min index=%zu\n", gsl_stats_float_min_index(d, 1, 10));
printf("max=%f\n", gsl_stats_float_max(d, 1, 10));
printf("max index=%zu\n", gsl_stats_float_max_index(d, 1, 10));
printf("mean=%f\n", gsl_stats_float_mean(d, 1, 10));
return 0;
}
运行结果:
版权声明:本文为「txfly」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://www.jianshu.com/p/2a1948ad0cf8
网友评论