how to create shared library on Linux
Добавлено: 24 янв 2008, 06:20
File a.h
file a.cpp
file b.h
file b.cpp
file main.cpp
Компилирую все
$ g++ -shared -fPIC a.cpp -o liba.so
$ g++ -shared -fPIC b.cpp -o libb.so
$ g++ -shared -fPIC b.cpp
$ g++ main.cpp -lb -o main
/usr/bin/ld: cannot find -lb
collect2: ld returned 1 exit status
Библиотеки построились, а главная программа нет
Вопрос - как это все построить ?
Код: Выделить всё
#ifndef A_H
#define A_H
void A();
#endif
Код: Выделить всё
#include <stdio.h>
void A()
{
printf("A() get called\n");
}
Код: Выделить всё
#ifndef B_H
#define B_H
void B();
#endif
Код: Выделить всё
#include <stdio.h>
#include "a.h"
void B()
{
printf("B() get called\n");
A();
}
Код: Выделить всё
#include <stdio.h>
#include "b.h"
int main(int argc, char** argv)
{
B();
return 1;
}
$ g++ -shared -fPIC a.cpp -o liba.so
$ g++ -shared -fPIC b.cpp -o libb.so
$ g++ -shared -fPIC b.cpp
$ g++ main.cpp -lb -o main
/usr/bin/ld: cannot find -lb
collect2: ld returned 1 exit status
Библиотеки построились, а главная программа нет
Вопрос - как это все построить ?