使用gcc for Linux& amp;和gnu Scientific Library进行了很好的记录。 Cygwin的。
在这里,我正在使用Windows 7,而我所拥有的只是lcc
编译器(http://www.cs.virginia.edu/~lcc-win32/,包括lcc64和lcclnk64)和用于Windows 64bits的GSL库({{3 }})。
我没有cygwin / mingw / msys / Visual Studio。
我的问题与lcc
以及gsl-1.15-dev-win64.zip
中找到的库有关。测试代码是
#include <stdio.h>
#include <gsl/gsl_sf_gamma.h>
int main (void)
{
double a = 20;
double b = 10;
double x = 0.5;
double result = gsl_sf_beta_inc(a, b, x);
printf("%f\n", result);
return 0;
}
编译不是问题所在。使用lcclnk64
链接到gsl静态库是个问题。我尝试过以下变体:
lcclnk64 test.obj -Lc:\gsl\lib -lgsl
首先使用lcc64
进行编译,然后使用lc64
,libgsl.dll.a
,libgsl.a
和{{1}进行链接,或使用lgsl
次调用运行整个流程将libgsl.lib
重命名为libgsl.dll.a
后,使用/不使用libgsl.lib
。我还是得到了:
-subsystem console
我想在Windows 7上使用 connect test.obj .text: undefined reference to 'gsl_sf_beta_inc'
链接到静态GSL库以获取独立exe
,如果必须,则不必使用exe发送dll分享lcc
。获得exe
很容易,它会将对象链接到test.obj
,这完全阻碍了我。谢谢你的任何指示。
编辑:
我得到以下内容进行编译和链接而没有错误,但是当我运行libgsl.???
时,我收到一个错误对话框,告诉我DLL丢失了,我需要重新安装程序。
test.exe
答案 0 :(得分:0)
如果您无法获得编译器所需的信息,可以转到此处:
http://mingw-w64.sourceforge.net/download.php#mingw-builds
并选择/下载/安装您选择的编译器。