Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
gromo
378 / 276 / 31
Регистрация: 04.09.2009
Сообщений: 1,224
1

GCC как часть библиотек линковать статически, а часть динамически?

30.12.2013, 00:31. Просмотров 1171. Ответов 10
Метки нет (Все метки)

Просто пока лень Qt пересобирать, чтобы возыметь статик-либы. Нужно Qt линковать динамически, а boost, gmp, ... статически.
Возможно ли такое? Вроди бы встречал когда-то такую комбинацию опций в GCC...

Bash
1
2
z@x:~$ cc --version
cc (GCC) 4.8.2 20131219 (prerelease)
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.12.2013, 00:31
Ответы с готовыми решениями:

Описать структуру «комплексное число» (действительная часть (re), мнимая часть (im)
Описать структуру «комплексное число» (действительная часть (re), мнимая часть (im)). Определить...

Есть ли возможность в char-массив часть данных ввести в буквах, а часть в цифрах?
подскажите пожалуйста, есть ли возможность в char массив часть данных ввести в буквах, а часть в...

Разделить дробное число на 2 части: целая часть числа и его дробная часть
Пользователь вводит с клавиатуры сумму в валюте (дробное число). Вывести по отдельности количество...

Ошибка в задаче: Найти мин. k, которое будет удовлетворять условию: fabs(правая часть - левая часть) < 10^(-15)
Задача: k изменяется от 0 до бесконечности ((4k+1)! / ^2) * x^2k = =1/2* X принадлежит...

Скопировать часть строки и часть удалить
1. Удалить из строки ее часть с заданной позиции и заданной длины. 2. Скопировать часть строки с...

10
StudAssistant
Эксперт
34811 / 27003 / 5019
Регистрация: 17.04.2006
Сообщений: 49,622
30.12.2013, 00:31
Закажите контрольную, курсовую, диплом или любую другую студенческую работу здесь.
10
xtorne21st
30.12.2013, 01:07
  #2

Не по теме:

Цитата Сообщение от gromo Посмотреть сообщение
Просто пока лень Qt пересобирать, чтобы возыметь статик-либы.
Не возымешь статик либу сегодня - завтра она возымет тебя!

0
gromo
30.12.2013, 03:50  [ТС]
  #3

Не по теме:

Цитата Сообщение от xtorne21st Посмотреть сообщение
Не возымешь статик либу сегодня - завтра она возымет тебя!
=-O:D

0
castaway
Эксперт С++
4941 / 3046 / 455
Регистрация: 10.11.2010
Сообщений: 11,143
Записей в блоге: 10
Завершенные тесты: 1
30.12.2013, 09:18 4
Динамические библиотеки имеют двойное расширение .dll.a
Т.е. чтобы подключить библиотеку динамически, надо указывать -lmylib.dll
0
30.12.2013, 09:18
ForEveR
В астрале
Эксперт С++
8007 / 4764 / 654
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
30.12.2013, 09:54 5
gromo, Через -whole-archive вообщем-то. Или через rpath. bstatic/bshared
0
DiffEreD
1444 / 781 / 257
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
30.12.2013, 11:26 6
Ну а если подключать бустовские либы ...-mt-s-..., ...-mt-sd-..., - разве они не линкуются статически?
0
castaway
Эксперт С++
4941 / 3046 / 455
Регистрация: 10.11.2010
Сообщений: 11,143
Записей в блоге: 10
Завершенные тесты: 1
30.12.2013, 12:37 7
Буква s в имени библиотеки говорит о том что она то статическая.
0
gromo
378 / 276 / 31
Регистрация: 04.09.2009
Сообщений: 1,224
30.12.2013, 17:01  [ТС] 8
Цитата Сообщение от ForEveR Посмотреть сообщение
Или через rpath. bstatic/bshared
Спасибо, помогло такое:
Bash
1
-Wl,-Bstatic,-lgmp,-lgmpxx,-lboost_regex,-Bdynamic [тут уже сами подставлялись qt-шные динамич. либы]
Ранее я добавлял опции линковщику через QMAKE_LFLAGS, а qmake [цензура] выставлял их в командной строке ДО укзазания объектных файлов. В итоге линкер игнорировал все мои просьбы линковать статически (да и вообще линковать).
Цитата Сообщение от DiffEreD Посмотреть сообщение
Ну а если подключать бустовские либы ...-mt-s-..., ...-mt-sd-..., - разве они не линкуются статически?
Хмм... не совсем понимаю о чем вы.
Цитата Сообщение от castaway Посмотреть сообщение
Буква s в имени библиотеки говорит о том что она то статическая.
где именно? обычно это Shared

Добавлено через 4 минуты
Например
Bash
1
2
z@x:~$ ls -l /usr/lib/libgcc_s.so
lrwxrwxrwx 1 root root 13 Dec 23 15:02 /usr/lib/libgcc_s.so -> libgcc_s.so.1
0
castaway
Эксперт С++
4941 / 3046 / 455
Регистрация: 10.11.2010
Сообщений: 11,143
Записей в блоге: 10
Завершенные тесты: 1
30.12.2013, 17:43 9
gromo, so сама по себе является статической. Это был ответ именно на 6-е сообщение, именно про boost, и именно про MinGW.
0
gromo
378 / 276 / 31
Регистрация: 04.09.2009
Сообщений: 1,224
30.12.2013, 17:49  [ТС] 10
Цитата Сообщение от castaway Посмотреть сообщение
so сама по себе является статической.
Не понимаю. Можете пояснить? Обычно *.so - это разделяемые объекты для ldd, a *.a - static
0
castaway
Эксперт С++
4941 / 3046 / 455
Регистрация: 10.11.2010
Сообщений: 11,143
Записей в блоге: 10
Завершенные тесты: 1
30.12.2013, 17:58 11
Оговорился, динамической.

Добавлено через 4 минуты
Я, вообще, видимо не в ту степь попёр.. Мне показалось что речь идёт об ОС Windows...
0
30.12.2013, 17:58
StackOverflow
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.12.2013, 17:58

Динамически или статически
Что лучше для олимпиад, динамически выделять память, или статически. В исходниках крутых...

qmake. Заставить GCC линковать статически
Нужно слинковать библиотеку GMP статически. Такая вещь в .pro файле, естественно, предпочитает...

Как взять часть ссылки средствами JS и вставить эту часть в другую ссылку?
Приветствую! Опишу очень коротко проблему: Открывается страница с таким адресом: ...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru