Size: a a a

2021 August 28

A

Artem 🏳️‍🌈 USSR Gay ... in Embedded Group
Опять Чистяков
источник

U

UsernameAK in Embedded Group
у меня есть одна freestanding либа, которая почему-то при линковке не видит сишную std
ругается, мол undefined hidden symbol
как-то лечится?
причём суть в том, что ругается именно undefined hidden symbol, не просто undefined symbol
из кастомных флагов линкера у меня только -Wl,-z,notext - ибо оно не PIC
источник

LZ

Leonid Zaliubovskii in Embedded Group
Посмотри издалека и выкинь. Это хрень требует дофига ресурсов от МК и в целом производительность говно у нее.

Начинай с сишечки, а потом в зависимости от вкусов в плюсы перекатываться или под крыло любителей ржавого(RUST)
источник

AK

Anton Kirilenko in Embedded Group
/me мужественно молчит
источник

MM

Max Maxov in Embedded Group
для прототипа норм, если на питоне проще думать
источник

AT

Alexey Tsvetkov in Embedded Group
Вероятно прописыванием include path к стандартной либе
источник

LZ

Leonid Zaliubovskii in Embedded Group
Есть такая штука как -fvisibility=hidden посмотри от нее. Там ещё прагмы были.
источник

LZ

Leonid Zaliubovskii in Embedded Group
Разве что, и то потом это будет нужно нормально переписывать. Отсюда вывод - говно, которое придумали снежинки, которые не смогли в нормальный язык.

Ещё есть node.js на МК - тоже говно какое-то, не способное на что либо серьезное
источник

LZ

Leonid Zaliubovskii in Embedded Group
А исходники этой либы есть? Если да, мотрел на то, как у нее объявлены символы на которые ругается?
источник

IN

ISAK Neuman in Embedded Group
так и сделал, мне в любом случае пока не изучу на низком уровне, не нужно смотреть на всякие большие библиотеки.
источник

U

UsernameAK in Embedded Group
не, прикол в том что либа, похоже, с -fvisibility=hidden собрана
она закрытая, исходников у меня нет
источник

U

UsernameAK in Embedded Group
так ведь ошибка линковки, а не компиляции
источник

AS

A. Slsn in Embedded Group
это относится ко всем вызываемым ф-иям? может какая-то часть собрана с атрибутом, но есть "public" интерфейс к либе?
источник

LZ

Leonid Zaliubovskii in Embedded Group
Ну тогда я хз. Если она так собрана и некоторые скрыты, ну можно посмотреть что там и не использовать их

objdump -t <file>

Там возле скрытых будет маркер hidden
источник

LZ

Leonid Zaliubovskii in Embedded Group
Да, тут нельзя использовать "скрытые", только public. Тогда не должно ругаться
источник

U

UsernameAK in Embedded Group
суть в том, что это импорты, а не экспорты
источник

U

UsernameAK in Embedded Group
причём у всех символов маркер .hidden
источник

U

UsernameAK in Embedded Group
его можно как-то снять?
источник

LZ

Leonid Zaliubovskii in Embedded Group
Ну для тебя импорта. А для тех, кто собирал ее - экспорты.
источник

LZ

Leonid Zaliubovskii in Embedded Group
Раз все значит это и причина почему ругается
источник