Пакет libprotobuf не найден в пути поиска pkg-config

Я устанавливаю protobuf-c 1.3.2

после ./configure, где показано

    protobuf-c 1.3.2

        CC:                     gcc
        CFLAGS:                 -g -O2
        CXX:                    g++ -std=c++11
        CXXFLAGS:               -g -O2
        LDFLAGS:                
        LIBS:                   

        prefix:                 /usr/local
        sysconfdir:             ${prefix}/etc
        libdir:                 ${exec_prefix}/lib
        includedir:             ${prefix}/include
        pkgconfigdir:           ${libdir}/pkgconfig

        bigendian:              no
        protobuf version:       libprotoc 3.8.0

, но pkg-config --cflags 'libprotobuf >= 1.0.0' не работает. он говорит

Package libprotobuf was not found in the pkg-config search path.
Perhaps you should add the directory containing `libprotobuf.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libprotobuf' found

pkg-config --variable pc_path pkg-config показывает

/usr/local/lib/x86_64-linux-gnu/pkgconfig:/usr/local/lib/pkgconfig:/usr/local/share/pkgconfig:/usr/lib/x86_64-linux-gnu/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig
1
задан 8 July 2019 в 14:46

2 ответа

Почему Вы хотите создать protobuf-c пакет репозитория Ubuntu из источника? Это - хорошая практика и более удобный, чтобы предпочесть устанавливать пакеты репозитория Ubuntu с Кв. вместо того, чтобы загрузить их и скомпилировать их. protobuf-c автоматически обновляется, когда обновление становится доступным при установке его с Кв. Таким образом, Вы видите, что это более безопасно для установки его с Кв. оба пути.

Для установки Буферного компилятора C Протокола (protobuf-c) во всех в настоящее время поддерживаемых версиях Ubuntu открывают терминал и тип:

sudo apt install protobuf-c-compiler  

В Ubuntu 18.04 эта команда устанавливает версию 1.2.1 protobuf-c, и в Ubuntu 19.04 это устанавливает версию 1.3.1.

Буферы протокола являются гибким, эффективным, автоматизированным механизмом для сериализации структурированных данных - подобный XML, но меньший, быстрее и более простой. Вы определяете, как Вы хотите, чтобы Ваши данные были структурированы однажды, затем можно использовать специальный сгенерированный исходный код, чтобы легко записать и считать структурированные данные в и от множества потоков данных и использования множества языков. Можно даже обновить структуру данных, не повреждая развернутые программы, которые компилируются против "старого" формата.

1
ответ дан 7 December 2019 в 15:00

make install шоу

make  install-am
make[1]: Entering directory '/home/lohit/Documents/practise/protobuf-c'
make[2]: Entering directory '/home/lohit/Documents/practise/protobuf-c'
 /bin/mkdir -p '/usr/local/lib'
 /bin/bash ./libtool   --mode=install /usr/bin/install -c   protobuf-c/libprotobuf-c.la '/usr/local/lib'
libtool: install: /usr/bin/install -c protobuf-c/.libs/libprotobuf-c.so.1.0.0 /usr/local/lib/libprotobuf-c.so.1.0.0
/usr/bin/install: cannot remove '/usr/local/lib/libprotobuf-c.so.1.0.0': Permission denied
make[2]: *** [Makefile:1103: install-libLTLIBRARIES] Error 1
make[2]: Leaving directory '/home/lohit/Documents/practise/protobuf-c'
make[1]: *** [Makefile:2192: install-am] Error 2
make[1]: Leaving directory '/home/lohit/Documents/practise/protobuf-c'
make: *** [Makefile:2186: install] Error 2

Нет никакого разрешения получить доступ к пути. make uninstall && sudo make install обработанный.

0
ответ дан 7 December 2019 в 15:00

Другие вопросы по тегам:

Похожие вопросы: