Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 1, средняя оценка - 5.00
gromo
371 / 270 / 24
Регистрация: 04.09.2009
Сообщений: 1,214
#1

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

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

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

Bash
1
2
z@x:~$ cc --version
cc (GCC) 4.8.2 20131219 (prerelease)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.12.2013, 00:31
Здравствуйте! Я подобрал для вас темы с ответами на вопрос GCC как часть библиотек линковать статически, а часть динамически? (C++):

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

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

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

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

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

Gcc и отключение библиотек - C++
Пытаюсь собрать проект с пользовательской реализацией стандартной библиотеки: gcc ../src/compat/libc/string/strdup.c -c -o...

10
xtorne21st
30.12.2013, 01:07
  #2

Не по теме:

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

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

Не по теме:

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

0
castaway
Эксперт С++
4885 / 3020 / 370
Регистрация: 10.11.2010
Сообщений: 11,078
Записей в блоге: 10
Завершенные тесты: 1
30.12.2013, 09:18 #4
Динамические библиотеки имеют двойное расширение .dll.a
Т.е. чтобы подключить библиотеку динамически, надо указывать -lmylib.dll
0
ForEveR
В астрале
Эксперт С++
7979 / 4738 / 321
Регистрация: 24.06.2010
Сообщений: 10,543
Завершенные тесты: 3
30.12.2013, 09:54 #5
gromo, Через -whole-archive вообщем-то. Или через rpath. bstatic/bshared
0
DiffEreD
1431 / 768 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
30.12.2013, 11:26 #6
Ну а если подключать бустовские либы ...-mt-s-..., ...-mt-sd-..., - разве они не линкуются статически?
0
castaway
Эксперт С++
4885 / 3020 / 370
Регистрация: 10.11.2010
Сообщений: 11,078
Записей в блоге: 10
Завершенные тесты: 1
30.12.2013, 12:37 #7
Буква s в имени библиотеки говорит о том что она то статическая.
0
gromo
371 / 270 / 24
Регистрация: 04.09.2009
Сообщений: 1,214
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
Эксперт С++
4885 / 3020 / 370
Регистрация: 10.11.2010
Сообщений: 11,078
Записей в блоге: 10
Завершенные тесты: 1
30.12.2013, 17:43 #9
gromo, so сама по себе является статической. Это был ответ именно на 6-е сообщение, именно про boost, и именно про MinGW.
0
gromo
371 / 270 / 24
Регистрация: 04.09.2009
Сообщений: 1,214
30.12.2013, 17:49  [ТС] #10
Цитата Сообщение от castaway Посмотреть сообщение
so сама по себе является статической.
Не понимаю. Можете пояснить? Обычно *.so - это разделяемые объекты для ldd, a *.a - static
0
castaway
Эксперт С++
4885 / 3020 / 370
Регистрация: 10.11.2010
Сообщений: 11,078
Записей в блоге: 10
Завершенные тесты: 1
30.12.2013, 17:58 #11
Оговорился, динамической.

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

как вывести часть массива? - C++
например массив А{10 3 4 5 1 9 4} а нужно вывести до его минимального значения, то есть B{10 3 4 5 1} Задача для С++

Как менять часть строки? - C++
Есть string word (&quot;&lt;tag=\&quot;c1\&quot;&gt;&quot;); Стоит поиск по этому word в тексте Хотелось бы сделать поиск в цикле, где можно было бы не только...

Как удалить часть файла? - C++
Друзья как просто без промежуточного файла или переписывания в новый файл оставить в исходном файле нужный блок т.е. ИСХОДНЫЙ ФАЙЛ:...

как исправить часть в майне? - C++
( как исправить часть в мейне, опечатка) в матрице удалить все столбцы, в которых все элементы положительны. #include &lt;iostream&gt; ...


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

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

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