Соединение с библиотекой GSL с помощью компилятора lccwin64
Ссылки на Научную библиотеку Gnu очень хорошо документированы с использованием gcc для Linux и Cygwin.
Здесь я работаю над Windows 7, и все, что у меня есть, это lcc
компилятор ( http://www.cs.virginia.edu/~lcc-win32/, который включает в себя lcc64 и lcclnk64) и библиотеки GSL для Windows 64bit ( https://code.google.com/p/oscats/downloads/detail?name=gsl-1.15-dev-win64.zip&can=2&q=).
У меня нет 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;
}
Компиляция не проблема. Связывание со статической библиотекой gsl с помощью lcclnk64
это вопрос. Я пробовал вариант следующего:
lcclnk64 test.obj -Lc:\gsl\lib -lgsl
первая компиляция с lcc64
затем связать или запустить весь процесс с одним lc64
позвонить, используя libgsl.dll.a
, libgsl.a
, lgsl
а также libgsl.lib
после переименования libgsl.dll.a
в libgsl.lib
и с / без -subsystem console
, Я все еще получаю:
connect test.obj .text: undefined reference to 'gsl_sf_beta_inc'
Я хотел бы связать со статической библиотекой GSL, чтобы получить автономный exe
, на Windows 7 и используя lcc
и не нужно отправлять dll с exe, если я должен поделиться exe
, Получение test.obj
это просто, он получает объект, связанный с libgsl.???
это полностью блокирует меня. Спасибо за любые указатели.
РЕДАКТИРОВАТЬ:
Я получил следующее для компиляции и ссылки без ошибок, но когда я запускаю test.exe
Я получаю диалоговое окно с сообщением об отсутствии DLL, и мне нужно переустановить программу.
lcc64 test.c -Ic:\gsl\include
lcclnk64 test.obj libgsl.lib -Lc:\gsl\lib -subsystem console
1 ответ
Если вы не можете получить нужную информацию для вашего компилятора, вы можете перейти сюда:
http://mingw-w64.sourceforge.net/download.php
и выберите / скачайте / установите выбранный вами компилятор.