Как запустить программу на C с использованием библиотеки pari с gcc?
#include<stdio.h>
#include<pari/pari.h>
int main(void)
{
GEN i,j,k;
pari_init(500000,2);
i=gun;
j=stoi(3);
k=gadd(i,j);
printf("1+3=%s",GENtostr(k));
return 0;
}
$ Я новичок в работе с библиотекой pari в C. Я установил библиотеку pari в cygwin64 с помощью gcc. Любая программа на C/C++ работает. Это не проблема с компилятором gcc. Но когда я пытался использовать библиотеку Pari для приведенного выше примера программы. Я получал много ошибок следующим образом.
Более того, я использую команду $ gcc test-pari.c
запустить программу. На самом деле мне также нужно знать, как запустить программу, написанную с использованием библиотеки Pari на C. Нужно ли мне явно показывать некоторые библиотеки во время выполнения. Какие-либо предложения?
/tmp/cc7ELKK4.o:test-pari.c:(.text+0x87): undefined reference to `pari_err'
/tmp/cc7ELKK4.o:test-pari.c:(.text+0x87): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `pari_err'
/tmp/cc7ELKK4.o:test-pari.c:(.text+0x230): undefined reference to `pari_err'
/tmp/cc7ELKK4.o:test-pari.c:(.text+0x230): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `pari_err'
/tmp/cc7ELKK4.o:test-pari.c:(.text+0x253): undefined reference to `pari_init'
/tmp/cc7ELKK4.o:test-pari.c:(.text+0x253): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `pari_init'
/tmp/cc7ELKK4.o:test-pari.c:(.text+0x27f): undefined reference to `gadd'
/tmp/cc7ELKK4.o:test-pari.c:(.text+0x27f): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `gadd'
/tmp/cc7ELKK4.o:test-pari.c:(.text+0x28f): undefined reference to `GENtostr'
/tmp/cc7ELKK4.o:test-pari.c:(.text+0x28f): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `GENtostr'
/tmp/cc7ELKK4.o:test-pari.c:(.rdata$.refptr.gen_1[.refptr.gen_1]+0x0): undefined reference to `gen_1'
/tmp/cc7ELKK4.o:test-pari.c:(.rdata$.refptr.gen_0[.refptr.gen_0]+0x0): undefined reference to `gen_0'
/tmp/cc7ELKK4.o:test-pari.c:(.rdata$.refptr.bot[.refptr.bot]+0x0): undefined reference to `bot'
/tmp/cc7ELKK4.o:test-pari.c:(.rdata$.refptr.avma[.refptr.avma]+0x0): undefined reference to `avma'
collect2: error: ld returned 1 exit status
1 ответ
Решение
Вы должны добавить, по крайней мере, -l
вариант вашей команды:
gcc test-pari.c -lpari
Лучшее использование:
gcc test-pari.c -Wall -Wextra -pedantic -lpari -std=c11 -g -o test-pari