LINUX.ORG.RU

если необходимые библиотеки имеются в статичном виде( архив .a ) - то да

vaino
()

можно, разрешаю.

anonymous
()

тесть динамические библиотеки как статические...

Тесть негодует. Потому что он знает русский язык.

mmarkk
()

50% Решено

Как в Qt добавить флаг компиляции g++ -static

DenisPA ★★
() автор топика
Ответ на: LD_LIBRARY_PATH от anonymous

пациент про статическую линковку спрашивает, LD_LIBRARY_PATH - это для динамической, не так ли?

anonymous
()
Ответ на: комментарий от anonymous

можно все динамические библиотеки нужных версий с собой тащить, а с помощью LD_LIBRARY_PATH указывать к ним путь. Например, из-за LGPL лицензии

но вообще это костыль и не Unix-way

Harald ★★★★★
()

Вы хотите что бы динамические библиотеки линковались как статические? Стандартными средствами такое плохо реализуемо.В качестве приемлемого варианта можно тупо совать бинарник и библиотеки в ($PREFIX)/lib/($PROGRAM_NAME), а в ($PREFIX)/bin совать скрипт, который выставит нужные переменные и пути, и запустит бинарник.

buddhist ★★★★★
()

Я знаю один такой вариант. Создать каталог, например lib, и положить в него библиотеки. Создать скрипт запуска, дать ему права запуска. Советую посмотреть как это сделано с играми Osmos (там есть автоматическое определение того, 32- или 64-битный дистрибутив Linux) и Oil Rush (вместе с игрой идёт Qt 4).

ZenitharChampion ★★★★★
()
Ответ на: комментарий от ymuv
#!/bin/sh

# Change to game directory
CANONPATH=`readlink -f "$0"`
cd "`dirname "$CANONPATH"`"

MACHINE=`uname -m`
if [ "$MACHINE" = x86_64 ]
then
	BIN=./Osmos.bin64
else
	BIN=./Osmos.bin32
fi

$BIN $@

e=$?

exit $e
ZenitharChampion ★★★★★
()

Все, вроде, высказались, но меня вот гложет смутное сомнение...

А может быть, ТСу надо было всего лишь статически слинковать Qt со своим проектом? Я понимаю, написал он не это, но...

Да-да, я знаю, с телепатией пора завязывать.

hobbit ★★★★★
()

Прочитал это сообщение: http://www.opennet.ru/openforum/vsluhforumID3/23879.html#22

Автор сообщения объясняет, какие недостатки он видит в Linux. Насчёт линковки он пишет о том, что в Linux везде линкковка динамическая. А как можно иначе? Я вот вижу, что у меня PulseAudio нет, а Skype умеет и работать без него, и находить его в других дистрибутивах. А Quake 2 так вообще работает в системах без libGL.so, но если в системе есть OpenGL, то как-то задействует эту библиотеку!

Что это за линковка? Я везде слышу, что в Debian у пакетов много лишних зависимостей, и что их бинарники зависят от огромных списков библиотек, и если хоть одной нет - всё, не запускается. Недавно на ЛОРе была тема о том, что рядовая программа из состава Gnome не запустилась, не найдя libGL.so: Empathy требует OpenGL и 3D

ZenitharChampion ★★★★★
()
Ответ на: комментарий от anonymous

Как я могу, пользуясь этим знанием скомпилировать VLC так, чтобы он запускался без каких-либо кодеков в системе? Допустим, у меня только те кодеки, которые свободны от патентных ограничений, но VLC с ними надо пересобирать. А надо чтобы он в обеих системах запускался.

ZenitharChampion ★★★★★
()
Ответ на: комментарий от ZenitharChampion

Недавно на ЛОРе была тема о том, что рядовая программа из состава Gnome не запустилась, не найдя libGL.so: Empathy требует OpenGL и 3D

ха, ещё некоторые думают что libGL.so он одинаковый в mesa и в nvidia-drivers, а он таки разный.. в итоге костыль в виде симлинка на *нужную* версию libGL

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.