Здравствуйте, красивые люди,
Я пытаюсь создать статическую библиотеку и скомпилировать ее.Я уже создал небольшой статический библиотека и заголовок для него.
Заголовок (math.h):
int add (int a, int b);
int sub (int a, int b);
add.c:
int add (int a, int b) { return a + b; }
sub.c:
int sub (int a, int b) { return a - b; }
Я создал свой статический библиотека с помощью следующих команд:
gcc -c add.c
gcc -c sub.c
ar rcs libmymath.a add.o sub.o
Теперь мой main.c
#include <stdio.h>
#include "math.h"
int main( int argc, char **argv ) {
printf("Result : %d\n", add(5,7) );
return 0;
}
Я могускомпилируйте его с помощью следующей команды:
gcc main.c libmymath.a -o main
Но если я скомпилирую его следующим образом, произойдет сбой.
gcc main.c -lmymath -L. -o main
Произойдет сбой со следующей ошибкой:
/usr/bin/ld: cannot find -lmymath collect2:
error: ld returned 1 exit status
даже изменение
gcc main.c -llibmymath -L. -o main
не удается, и даже если я включу заголовок mymath.h в gcc. Можете ли вы мне помочь?