Команда создания исполняемого файла:
g++ -I../include/redis -L../lib/redis redis.cpp -o redis -lhiredis
Как подключиться к моей собственной библиотеке в gcc?
Описание:
меня libhiredis.so
в ../lib/redis/
. И в /usr/local/lib/hiredis13/
, есть libhiredis.so
и libhiredis.so.0.13
, это libhiredis.so
является ссылка символ libhiredis.so.0.13
.then I ldd redis
, вот результат:
linux-vdso.so.1 => (0x00007ffd227f7000)
libhiredis.so.0.13 => not found
libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007f7ebca0d000)
libm.so.6 => /lib64/libm.so.6 (0x00007f7ebc70b000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f7ebc4f5000)
libc.so.6 => /lib64/libc.so.6 (0x00007f7ebc132000)
/lib64/ld-linux-x86-64.so.2 (0x00007f7ebcd23000)
Gcc должен ссылаться на libhiredis.so
в ../lib/redis/
, я прав?
'libhiredis.so' в' ../ lib/redis/'не является символьной ссылкой. – CharlesLiuChina
Вам нужно построить свою библиотеку с помощью надлежащего 'soname'. –
@GundolfGundelfinger Спасибо. Я переименовал 'libhiredis.so' в' libhiredis.so.0.13' и сделал 'libhiredis.so' символьную ссылку' libhiredis.so.0.13'. Это сработало! :-) – CharlesLiuChina