Форум программистов, компьютерный форум, киберфорум
C/С++ под Linux
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
2 / 2 / 0
Регистрация: 12.10.2012
Сообщений: 17
1

возникла проблема с созданием динамической библитеки.

12.10.2012, 13:41. Показов 773. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем доброго времени суток. У меня возникла проблема с созданием динамической библитеки. У меня следующие файлы

three.h
C
1
2
3
double p(double a, double b, double c);
double s(double a, double b, double c);
double d(double a, double b, double c);
p.c
C
1
2
3
4
#include "three.h"
double p(double a, double b, double c){
        return a+b+c;
}
s.c
C
1
2
3
4
5
6
7
#include "three.h"
#include <math.h>
 
double s(double a, double b, double c){
        double p2 = p(a,b,c)/2;
        return sqrt(p2*(p2-a)*(p2-b)*(p2-c) );
}
d.c
C
1
2
3
4
5
//d.c
#include "three.h"
double d(double a, double b, double c){
    return s(a,b,c)/p(a,b,c)*2;
}
main.c
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include "three.h"
#include <stdio.h>
 
int main()
{
    double a = 10;
    double b = 8;
    double c = 12;
    
    double p1 = p(a,b,c);
    double s1 = s(a,b,c);
    double d1 = d(a,b,c);
    
    printf("%f \n",p1);
    printf("%f \n",s1);
    printf("%f \n",d1);
}
Библиотеку я пытаюсь собрать следующим образом:
gcc -c p.c
gcc -c s.c
gcc -c d.c
ld -shared *.o -o libthree.so
И тут выскакивает ошибка

ld: d.o: relocation R_X86_64_PC32 against symbol `s' can not be used when making a shared object; recompile with -fPIC
ld: final link failed: Bad value
Помогите пожалуйста разобраться, в чем проблема
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.10.2012, 13:41
Ответы с готовыми решениями:

Возникла проблема с созданием таблиц баз данных
Возникла проблема с созданием таблиц баз данных. Задача программы заключается в том, что...

Возникла проблема со switch
возникла проблема. есть switch(c){ case &quot;1&quot;:cout&lt;&lt;&quot;x&quot;;a=b;if(...) case...

Возникла проблема с массивами
Нужно удалить из массива все строки, в которых нет цифр. static void RanomDvumerniiArray(ref int...

Возникла проблема с dataGridView
Добрый день, форумчане! Возник вопрос при создании приложения Windows Forms для работы с БД MS...

2
Заблокирован
12.10.2012, 13:53 2
Цитата Сообщение от gusaroff Посмотреть сообщение
recompile with -fPIC
0
2 / 2 / 0
Регистрация: 12.10.2012
Сообщений: 17
12.10.2012, 20:25  [ТС] 3
если бы все было так просто, я бы сюда не писал, рекомпиляция с этим аргументом выдает ту же ошибку

Добавлено через 8 минут
Всем спасибо, проблема разрешилась. Оказывается у меня были криво поставлены библиотеки
0
12.10.2012, 20:25
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.10.2012, 20:25
Помогаю со студенческими работами здесь

Возникла проблема с методом Paint()
При поверхностном изучении Java ничего противоречивого и сложного в методе Paint я не обнаружил,...

Возникла проблема с прошивкой биоса.
У меня возникла проблема с прошивкой биоса. У меня материнская плата ASUS M2N-MX версия биоса AMI...

Реализации МП транслитератора - возникла проблема
При реализации МП транслитератора возникла проблема. После добавления очереди queue&lt;string&gt;...

возникла проблема с установкой Win7
Всем добрый день. У меня возникла проблема с установкой Win7. Всегда устанавливливаю с флешки....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru