Jan. 22nd, 2022

eddy_em: (Default)
Уже больше часа бьюсь — не могу собрать ничего своего, зависящего от моей libusefull_macros!
Поставил библиотеку в /usr/local/lib, установил соответствующим образом LD_LIBRARY_PATH. И фигвам!
cc -fdata-sections -ffunction-sections -Wl,--gc-sections -Wl,--discard-all -lusefull_macros -ludev mk/1.o -o relay_manage
mk/1.o: In function `relay_cmd':
1.c:(.text.relay_cmd+0x98): undefined reference to `globErr'
1.c:(.text.relay_cmd+0x9c): undefined reference to `_WARN'
...

Т.е. линкер находит эту библиотеку (иначе ругался бы), но не может подхватить из нее символы! nm все отлично видит. file говорит, что и с форматом все ОК:
file /usr/local/lib/libusefull_macros.so.0.1.1 
/usr/local/lib/libusefull_macros.so.0.1.1: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, BuildID[sha1]=115cbab503dc8556b882dcc3343fbffa11169589, not stripped

Вот что этой заразе надо?
Как оказалось, другие библиотеки тоже "не видит" (проверил с libudev)!!!

Однако, когда я просто указал gcc -o serialsock *.c -lusefull_macros -lm, оно собралось!! Вот что за чертовщина?

April 2025

S M T W T F S
  1 23 45
67 89101112
13141516171819
20212223242526
27282930   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated May. 22nd, 2025 06:01 am
Powered by Dreamwidth Studios