Генерация .so файла

У меня есть файл main.cХочу создать main.so,

main.c зависит от libCmodel.so файл.

main.c похоже

#include <stdio.h>
#include "Cmodel.h" // Must include before Amodel and Bmodel
#include "Amodel.h"#include "Bmodel.h"
int main(){
..
return 0;
}

Можно заметить, что libCmodel.so файл зависит от libAmodel.so.4 а также libBmodelso.11.
Все "*.so" файлы находятся в том же каталоге, что и main.c

Я использовал следующую команду для создания объектного файла

gcc -x c++ -fPIC main.c -o main.o -c -I.

я вижу это main.o генерируется.
Но я не уверен, что использовал правильную команду. Является ли приведенная выше команда правильной?

Затем я попытался следующие запятые для генерации main.so,

g++ -shared -o main.so main.o -L. -lCmodel
g++ -shared -o main.so main.o -L. -lCmodel -lAmodel -lBmodel
g++ -shared -o main.so main.o -L. -lCmodel -lAmodel.4 -lBmodel.11
g++ -shared -o main.so main.o -L. -lCmodel -lAmodel.so.4 -lBmodel.so.11

Какая из приведенных выше команд верна?
Пожалуйста помоги

-1

Решение

Файл, содержащий ваши main Функция не должна быть общей библиотекой. Это точка входа для приложения, поэтому она должна быть связана как исполняемый файл.

gcc -x c++ -I. -L. -o main main.c -lCmodel
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector