powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / есть специ по gcc?
40 сообщений из 40, показаны все 2 страниц
есть специ по gcc?
    #38310245
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
проконсультируйте меня пожалуйста по поводу линковки.
собираю динамическую либу. при этом использую две других. хочу что-бы одна слинковалась динамически, а вторая статически. какие ключи применить?

λf.(λx.f (x x)) (λx.f (x x))
...
Рейтинг: 0 / 0
есть специ по gcc?
    #38310287
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
эээ... или я не понимаю задачу или...

Ну если мой хрустальный шар не врет, то...
Допустим у нас в текущем каталоге есть две библиотеки: динамическая: A.dll и статическая: libB.a
Делаем новую динамическую библиотеку C.dll:
gcc -shared -oC.dll c.o -L. -lA -lB
все.

Мирко-пример в аттаче
...
Рейтинг: 0 / 0
есть специ по gcc?
    #38310294
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owlю динамическую библиотеку C.dlмне бы под линух.

ну и заодно перефразирую:
есть две сторонних библиотеки. одна динамическая, вторая в двух вариантах.
назовем их А и Б.
мне нужно собрать динамическую либу В, которая линкуется с А - динамически, а с Б - статически.
...
Рейтинг: 0 / 0
есть специ по gcc?
    #38310298
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZyK_BotaNмне нужно собрать динамическую либу В, которая линкуется с А -
динамически, а с Б - статически.
Значит указывай в списке A.so и B.a.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
есть специ по gcc?
    #38310310
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZyK_BotaNWhite Owlю динамическую библиотеку C.dlмне бы под линух.А это не важно. Замени .dll на .so в моем примере и получишь счастье. Причем это не обязательно, большинству линуксов глубоко плевать какое там расширение у файла.

ZyK_BotaNну и заодно перефразирую:
есть две сторонних библиотеки. одна динамическая, вторая в двух вариантах.
назовем их А и Б.
мне нужно собрать динамическую либу В, которая линкуется с А - динамически, а с Б - статически.Ну с A у тебя нет выбора. Если есть только динамическая версия библиотеки, то и линковаться с ней можно только динамически.
А с Б если есть выбор - то у тебя есть и два отдельных файла: динамический Б.so и статический libБ.a? Ну так укажи вместо ключа -l<library> полное имя нужного файла.
Замени последние две строчки в моем makeit.bat на:
gcc -shared -oC.dll c.o A.dll libB.a
gcc -oT.exe main.o C.dll
и запусти в консоли:
$ sh makeit.bat
$ ./T.exe
И все.
...
Рейтинг: 0 / 0
есть специ по gcc?
    #38310318
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owlполное имя нужного файлав том то и проблема, что указую - а толку нет.

возможно я не понимаю проблемы, и дело не в статической линковке - но проблема выглядит так:

мне нужно из эрланг кода заюзать сишный, для этого я использую вот данную либу(enif) ( http://www.erlang.org/doc/man/erl_nif.html).

в моем коде юзается данная либа(она может быть только динамической), а также либа jansson( http://www.digip.org/jansson/) и мной скопированная еще одна либа.

если я компилю указываю пути к *.a фалам двух последних либ. вторая подключается корректано, а на jansson ругается что не находит методов.

отличие между первой и второй в том, что первую(jansson) - я устанавливал из репа, и она везде прописана(вот я и подумал что жцц игнорит указанный мной путь, и находит либу в стандартных директориях),
а вторая компилировалось мной, и лежит в нестандартной директории - и с ней проблем нет.

внимание вопрос : что может быть не так с установленной с репы jansson либы, что указав полный путь к либе при компиляции, и после этого загражая скомпилированную либу из эралнга - функции из jansson-а не находятся?
...
Рейтинг: 0 / 0
есть специ по gcc?
    #38310322
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
з.ы. я ни грамму не сишник, и ни грамму не линуксоид. следовательно могу не знать даже банальных мелочей. поэтому не умалчивайте даже казалось бы очевидных мелочей.
...
Рейтинг: 0 / 0
есть специ по gcc?
    #38310324
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пример отсюда
Код: plaintext
1.
gcc -o test test.c -L/usr/local/lib -Wl,-Bstatic -lcunit -Wl,-Bdynamic -labc -lyz


Если кратко, то то что после -Bstatic линкуется статически, а то что после -Bdynamic - динамически.
Если не указывать ни то ни другое, то не знаю, но подозреваю что будет использовано динамическое связывание.
...
Рейтинг: 0 / 0
есть специ по gcc?
    #38310326
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly MoskovskyПример отсюда
Код: plaintext
1.
gcc -o test test.c -L/usr/local/lib -Wl,-Bstatic -lcunit -Wl,-Bdynamic -labc -lyz



Если кратко, то то что после -Bstatic линкуется статически, а то что после -Bdynamic - динамически.
Если не указывать ни то ни другое, то не знаю, но подозреваю что будет использовано динамическое связывание.спасибо, завтра проверю - отпишусь
...
Рейтинг: 0 / 0
есть специ по gcc?
    #38310333
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZyK_BotaNесли я компилю указываю пути к *.a фалам двух последних либ. вторая подключается корректано, а на jansson ругается что не находит методов.Сделай полное указание имен.
gcc a.o b.o c.o /usr/local/lib/somecool.so /home/user/extra_libs/someotherlib.a
как-то так.
...
Рейтинг: 0 / 0
есть специ по gcc?
    #38310339
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZyK_BotaN,

Пара замечаний:
1) -Wl,-Bstatic - это один неразрывный ключ как и -Wl,-Bdynamic
2) Так как вы собираете дин. либу а не приложение, то надо компилировать с ключами для либ, как минимум -shared и (если 64-бита) -fPIC, может и еще какие-то.
...
Рейтинг: 0 / 0
есть специ по gcc?
    #38310344
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlZyK_BotaNесли я компилю указываю пути к *.a фалам двух последних либ. вторая подключается корректано, а на jansson ругается что не находит методов.Сделай полное указание имен.
gcc a.o b.o c.o /usr/local/lib/somecool.so /home/user/extra_libs/someotherlib.a
как-то так.та указывал. игнорит, либо проблема не в статической линковке.
...
Рейтинг: 0 / 0
есть специ по gcc?
    #38310345
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlСделай полное указание имен.
Ага, и забей на переносимость :)
...
Рейтинг: 0 / 0
есть специ по gcc?
    #38310348
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly MoskovskyWhite OwlСделай полное указание имен.
Ага, и забей на переносимость :)та мне пока без переносимости можно, прототип пилию.
...
Рейтинг: 0 / 0
есть специ по gcc?
    #38310351
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly MoskovskyПример отсюда
Код: plaintext
1.
gcc -o test test.c -L/usr/local/lib -Wl,-Bstatic -lcunit -Wl,-Bdynamic -labc -lyz


Если кратко, то то что после -Bstatic линкуется статически, а то что после -Bdynamic - динамически.
Если не указывать ни то ни другое, то не знаю, но подозреваю что будет использовано динамическое связывание.
Нет-нет-нет..

Во первых, ключи: -Wl,-Bstatic и -Wl,-Bdynamic. Если ты используешь gcc, то -Wl обязателен. Это передача ключей для ld который вызывается изнутри gcc.

Во вторых, -Bstatic и -Bdynamic влияют только на то как будет обрабатываться дальнейший -l. То есть если у тебя одновременно есть libA.a и A.so, то:
gcc .... -Wl,-Bstatic -lA
будет использован libA.a
gcc .... -Wl,-Bdynamic -lA
будет использован A.so

В третьих, будет в итоге линковка динамическая или статическая зависит только от того какая библиотека была использована, ключи на это не влияют.
...
Рейтинг: 0 / 0
есть специ по gcc?
    #38310359
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZyK_BotaNа на jansson ругается что не находит методов.
Ну так внимательно прочитай ругательства, выпиши на бумажку имена не найденных символов, а
потом ищи библиотеку в которой они объявляются. И вот её уже добавляй в список.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
есть специ по gcc?
    #38310394
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovZyK_BotaNа на jansson ругается что не находит методов.
Ну так внимательно прочитай ругательства, выпиши на бумажку имена не найденных символов, а
потом ищи библиотеку в которой они объявляются. И вот её уже добавляй в список.та говорю же, из библиотеки jansson. если компилю консольную программку - то проблем нет. все работает.
...
Рейтинг: 0 / 0
есть специ по gcc?
    #38310397
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZyK_BotaNта говорю же, из библиотеки jansson
Это ты говоришь. А документация и, главное, nm с тобой согласны?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
есть специ по gcc?
    #38310409
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovZyK_BotaNта говорю же, из библиотеки jansson
Это ты говоришь. А документация и, главное, nm с тобой согласны?я что, не знаю какую функцию и с какой библиотеки юзаю )))
...
Рейтинг: 0 / 0
есть специ по gcc?
    #38310416
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZyK_BotaNя что, не знаю какую функцию и с какой библиотеки юзаю )))

Ну, как минимум один линкер в этом абсолютно уверен.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
есть специ по gcc?
    #38310433
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovZyK_BotaNя что, не знаю какую функцию и с какой библиотеки юзаю )))

Ну, как минимум один линкер в этом абсолютно уверен.проблема в том, что я сам не понял - в чем линкер не уверен.

вот здесь я задал вопрос с другой стороны, может проблема совсем не в линкере:
http://www.linux.org.ru/forum/development/9299809?lastmod=1372182920343
...
Рейтинг: 0 / 0
есть специ по gcc?
    #38310434
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
з.ы. вы сколько там ответов видели? еще недавно там был диалог реплик на 8. сейчас я 1-ну вижу.
что за глюки? (модерировать там было нечего, вернее только пару сообщений)
...
Рейтинг: 0 / 0
есть специ по gcc?
    #38310436
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ага, написано что поудаляли. не видел я на ЛОРе такой модерации
...
Рейтинг: 0 / 0
есть специ по gcc?
    #38310451
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZyK_BotaNвот здесь я задал вопрос с другой стороны
Ни здесь ни там Вы не приводите текста получаемых ошибок. Ни после намёков, ни после
прямых посылов. В таких условиях на месте модераторов я бы отправил весь топик - в утиль,
а Вас - в бан на недельку за упёртость.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
есть специ по gcc?
    #38310457
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovZyK_BotaNвот здесь я задал вопрос с другой стороны
Ни здесь ни там Вы не приводите текста получаемых ошибок. Ни после намёков, ни после
прямых посылов. В таких условиях на месте модераторов я бы отправил весь топик - в утиль,
а Вас - в бан на недельку за упёртость.


ZyK_BotaNмне нужно из эрланг кода заюзать сишный,


Dimitry SibiryakovВы не приводите текста получаемых ошибок.undefined symbol json_string_value
...
Рейтинг: 0 / 0
есть специ по gcc?
    #38310464
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZyK_BotaNundefined symbol json_string_value
Это выдаёт кто? Когда?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
есть специ по gcc?
    #38310466
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovZyK_BotaNundefined symbol json_string_value
Это выдаёт кто? Когда?эрланг, при попытке загрузить либу.

вот этот
http://www.erlang.org/doc/tutorial/nif.html
хелов ворд - работает, а с либой jansson - не прокачивает.
...
Рейтинг: 0 / 0
есть специ по gcc?
    #38310467
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZyK_BotaNэрланг, при попытке загрузить либу.на инструкции с(имя_либы).
...
Рейтинг: 0 / 0
есть специ по gcc?
    #38310476
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZyK_BotaNэрланг
Значит это проблема эрланга, не С. Оффтопик здесь.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
есть специ по gcc?
    #38310477
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovZyK_BotaNэрланг
Значит это проблема эрланга, не С. Оффтопик здесь.это проблема эрланг+си. форума по эрлангу здеся нет, вот потому задал вопрос в данном форуме. нечего ответить? - не отвечай, но и меня посылать никуда не надо, и рассказывать что бы ты сделал на месте модераторов.
...
Рейтинг: 0 / 0
есть специ по gcc?
    #38310489
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZyK_BotaNфорума по эрлангу здеся нет
Трудно ожидать здесь раздел для каждой студенческой поделки. Зато такой форум есть на
официальном сайте этой поделки: http://www.erlang.org/static/doc/mailinglist.html
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
есть специ по gcc?
    #38310491
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakovдля каждой студенческой поделки.а вот за это, модераторы могли бы и банить )
...
Рейтинг: 0 / 0
есть специ по gcc?
    #38310811
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZyK_BotaNпроконсультируйте меня пожалуйста по поводу линковки.
собираю динамическую либу. при этом использую две других. хочу что-бы одна слинковалась динамически, а вторая статически. какие ключи применить?

λf.(λx.f (x x)) (λx.f (x x))

Главное, что это вообще не нужно делать.
Если хотя бы одна библиотека линкуется динамически, все библиотеки надо ликовать динамически.
...
Рейтинг: 0 / 0
есть специ по gcc?
    #38311114
?
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
?
Гость
ZyK_BotaN,

Посмотрите в выводе ldd yourlib.so есть ли зависимость от jansson.so (или как она там у вас правильно называется).

Попробуйте перед загрузкой вашей либы загрузить jansson.so
...
Рейтинг: 0 / 0
есть специ по gcc?
    #38311162
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovZyK_BotaNвот здесь я задал вопрос с другой стороны
Ни здесь ни там Вы не приводите текста получаемых ошибок. Ни после намёков, ни после
прямых посылов. В таких условиях на месте модераторов я бы отправил весь топик - в утиль,
а Вас - в бан на недельку за упёртость.
посыпаю голову пеплом.
утро вечера мудренее, глянул сутра на сообщение - а там ошибка очевидна.
привести полное сообщение на форуме не мог, так как писал из дома, где данного кода не было.
...
Рейтинг: 0 / 0
есть специ по gcc?
    #38311164
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZyK_BotaNпроконсультируйте меня пожалуйста по поводу линковки.
собираю динамическую либу. при этом использую две других. хочу что-бы одна слинковалась динамически, а вторая статически. какие ключи применить?

λf.(λx.f (x x)) (λx.f (x x))

http://www.yolinux.com/TUTORIALS/LibraryArchives-StaticAndDynamic.html
http://gcc.gnu.org/onlinedocs/gcc/Link-Options.html
...
Рейтинг: 0 / 0
есть специ по gcc?
    #38311167
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZyK_BotaNпроконсультируйте меня пожалуйста по поводу линковки.
собираю динамическую либу. при этом использую две других. хочу что-бы одна слинковалась динамически, а вторая статически. какие ключи применить?

λf.(λx.f (x x)) (λx.f (x x))

Да собственно никакие ключи-то вроде и не нужны. Ты просто при сборке указываешь две библиотеки, одна будет динамическая, другая -- статическая.
...
Рейтинг: 0 / 0
есть специ по gcc?
    #38311184
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivZyK_BotaNпроконсультируйте меня пожалуйста по поводу линковки.
собираю динамическую либу. при этом использую две других. хочу что-бы одна слинковалась динамически, а вторая статически. какие ключи применить?

λf.(λx.f (x x)) (λx.f (x x))

Главное, что это вообще не нужно делать.
Если хотя бы одна библиотека линкуется динамически, все библиотеки надо ликовать динамически.

Это я неправильно сморозил, не заметил, что речь пло линукс.
...
Рейтинг: 0 / 0
есть специ по gcc?
    #38311315
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivЭто я неправильно сморозил, не заметил, что речь пло линукс.
Под линуксом тоже есть проблемы со статическим связыванием.
...
Рейтинг: 0 / 0
есть специ по gcc?
    #38311360
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly Moskovsky,

Я знаю, но там они другие. В общем, про линух разговор отдельный.
...
Рейтинг: 0 / 0
40 сообщений из 40, показаны все 2 страниц
Форумы / C++ [игнор отключен] [закрыт для гостей] / есть специ по gcc?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]