0 / 0 / 0
Регистрация: 21.01.2014
Сообщений: 73
|
||||||||||||||||
1 | ||||||||||||||||
Создать динамическую библиотеку, вызывающую функцию из статической22.05.2016, 03:42. Показов 1254. Ответов 2
Метки нет (Все метки)
Доброго времени суток!
тут появилось два вопроса: 1)создать динамическую библиотеку, вызывающую функцию из статической 2)статическую библиотеку, вызывающую функцию из динамической Пусть мы пока смотрим на первый вопрос, помогите мне найти ошибку, или подскажите как можно сделать по другому: я создаю статическую библиотеку: для этого пишу код:
теперь создаю саму библиотеку, пишу для этого в терминале: gcc -c ./aStatic.c -o aStatic.o ar rc aStatic.a aStatic.o ranlib aStatic.a На этом этапе нигде ошибок не выдает далее создаю динамическую библиотеку:
теперь создаю сам файл библиотеки в консоли со статической загрузкой: gcc fPIC -c ./aDS.c -o aDS.o gcc -shared -o aDS.so aDS.o Тут пока тоже без ошибок далее пишу программу, в которой использую динамическую библиотеку:
и компилирую её вместе с динамической и статической библиотекой: gcc ./eProg.c aDS.so aStatic.a Ошибок по прежнему нет теперь запускаю файл запуска: ./a.out и тут мне пишет: ./a.out: error while loading shared libraries: aDS.so: cannot open shared object file: No such file or directory когда делаю аналогичные действия для обратной задачи - такая же ошибка, помогите разобраться, я считаю, что мне нужно как-то при сборке динамической библиотеке указать файл статической библиотеки, но как это сделать я не придумал Спасибо заранее
0
|
22.05.2016, 03:42 | |
Ответы с готовыми решениями:
2
Как создать динамическую библиотеку на C# ? Не удается создать динамическую библиотеку в VS Как создать динамическую библиотеку .so с классами Как создать динамическую библиотеку dll в Microsoft Visual c++ и использовать ее |
шКодер самоучка
|
||||||
22.05.2016, 04:03 | 2 | |||||
Текущая директория находится вне списка, где система ищет библиотеки
Нужно запускать программу с установкой переменной окружения LD_LIBRARY_PATH
1
|
0 / 0 / 0
Регистрация: 21.01.2014
Сообщений: 73
|
|
22.05.2016, 09:40 [ТС] | 3 |
Да, прописал это в терминале, и указал вместо ./prog_name ./a.out и всё заработало Большое спасибо! Добавлено через 4 часа 28 минут Знаю, что не в этот раздел, но что делать, если такая же ситуация возникает в OS Windows, пишет: >main.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__sortT в функции _main 1>F:\andro\C++\os\Lab8\eProg\Debug\eProg.exe : fatal error LNK1120: неразрешенных внешних элементов: 1 Добавлено через 21 минуту всё заработало, просто забыл при создании второй библиотеки подключить заголовочные файлы обоих библиотек
0
|
22.05.2016, 09:40 | |
22.05.2016, 09:40 | |
Помогаю со студенческими работами здесь
3
Создать динамическую библиотеку для вычисления разности кубов двух чисел Создать командную кнопку, вызывающую функцию, которая определяет, входит ли один список в другой Из статической в динамическую бд Ошибка с записью статической переменной в динамическую Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |