Я пытаюсь связать библиотеки, которые я загружаю из Венской РНК, чтобы я мог использовать алгоритмы в моем коде c
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <ViennaRNA/fold.h>
#include <ViennaRNA/mfe.h>
int main(){
/* The RNA sequence */
char *seq = "GAGUAGUGGAACCAGGCUAUGUUUGUGACUCGCAGACUAACA";
/* allocate memory for MFE structure (length + 1) */
char *structure;
/* predict Minmum Free Energy and corresponding secondary structure */
float mfe = vrna_fold(seq, structure);
/* print sequence, structure and MFE */
printf("%s\n%s [ %6.2f ]\n", seq, structure, mfe);
return 0;
}
gcc дает мне:
undefined reference to `vrna_fold'
Этодокументация для vrna_fold vrna_fold .Я следовал конфигурациям из Венской РНК , которые мне сказали запустить:
pkg-config --cflags RNAlib2
pkg-config --libs RNAlib2
К которой я получил
-I/usr/include
-lRNA -fopenmp -lgsl -lgslcblas
соответственно;Затем я побежал
gcc q5.c -I/usr/include -lRNA -fopenmp -lgsl -lgslcblas
и получил
lto1: fatal error: bytecode stream generated with LTO version 4.1 instead of the expected 4.2
compilation terminated.
lto-wrapper: fatal error: gcc returned 1 exit status
compilation terminated.
/usr/bin/ld: error: lto-wrapper failed
collect2: error: ld returned 1 exit status