Don't expose symbols from a used library in own static library

前端 未结 2 1003
有刺的猬
有刺的猬 2020-12-25 08:21

I am writing a reusable static library for the iPhone, following the directions provided here.

I want to use minizip in my library internally, but don\'

2条回答
  •  一整个雨季
    2020-12-25 09:12

    You could rename all exported symbol from minizip with objcopy.

    something like

    objcopy -redefine-sym=minizip.syms yourstaticlibray.a 
    

    and minizip.syms

    _unzOpen     _yourownprefix_unzOpen
    _unzOpen2    _yourownprefix_unzOpen2
    ...          ...
    

    No clash if an executable is linked with an other minizip.a and yourstaticlibray.a, and because you renamed all the symbol in yourstaticlibray.a your call inside yourstaticlibray.a to minizip will use the prefixed symbol, and not the unzOpen one.

提交回复
热议问题