использовать функцию из библиотеки

224
18 декабря 2017, 14:31

здравствуйте, есть примерно следующий код:

файл include1.h:

namespace space {  
    struct ex {
        int a;
        int b;
    };    
}

файл include.cpp

#include <include.h>
void function(space const& c) {
     /*реализация*/
}

из этих файлов собрана динамическая библиотека include.so:

g++ -shared -fpic -o libinclude.so include.cpp

ну и в конце линкуем бинарник:

g++ -o myexample main.o -linclude

предположим, все пути указаны верно... можно ли в своем приложении пользоваться функцией function без динамической подгрузки функции через dlopen ?

#include <include.h>
int main() {
    ex a{1,2};
    function(a); //<-- функция не определена
}

если кому не сложно, то накидайте этот пример и покажите как вызвать функцию без dlopen... не понимаю

Answer 1

как-то так...

alexander@goblin /tmp/foolib $ cat foo.cpp
#include <iostream>
int foo () {
    std::cout << "Hello world from foo!\n";
    return 0;
}
alexander@goblin /tmp/foolib $ cat main-foo.cpp
int foo ();
int main () {
    return foo();
}
alexander@goblin /tmp/foolib $ g++ -shared -fpic -olibfoo.so foo.cpp
alexander@goblin /tmp/foolib $ g++ -fpic -o main-foo -L. -lfoo  main-foo.cpp
alexander@goblin /tmp/foolib $ LD_LIBRARY_PATH=. ./main-foo
Hello world from foo!
READ ALSO
Arduino использовать методы одной библиотеки в другой

Arduino использовать методы одной библиотеки в другой

Прошу вас объяснить или же указать на источник где можно подробно прочитать способ использования одной библиотеки Arduino в другойВ частности,...

260
Способы передачи файла через компорт(Comport, rs232)

Способы передачи файла через компорт(Comport, rs232)

Здравствуйте, необходимо реализовать передачу файла на comportОбъясните, пожалуйста, если компорт ведет дело с байтами, то задача "Передать...

163
Размер папки в Qt [дубликат]

Размер папки в Qt [дубликат]

На данный вопрос уже ответили:

220
Вопрос по синтаксису куска кода

Вопрос по синтаксису куска кода

Недавно наткнулся на такой кусок кода:

180