protocolbuffers/protobuf

BUG: pkg-config metadata is incorrect on windows

Offen

#20.515 geöffnet am 28.02.2025

 (3 Kommentare) (0 Reaktionen) (1 zugewiesene Person)C++ (16.128 Forks)batch import
cmakehelp wantedwindows

Repository-Metriken

Stars
 (71.223 Sterne)
PR-Merge-Metriken
 (Durchschn. Merge 2T 11h) (185 gemergte PRs in 30 T)

Beschreibung

What version of protobuf and what language are you using? Version: v29.1 (but problem remains on main) Language: C++

What operating system (Linux, Windows, ...) and version?

windows

What runtime / compiler are you using (e.g., python version or gcc version)

VS2019

What did you do?

Build protobuf, try to use pkg-config metadata in dependent project

What did you expect to see

Build succeeds

What did you see instead?

LINK : fatal error LNK1181: cannot open input file 'upb.lib'

This is because the windows builds here have a non-default prefix (e.g. libprotobuf.lib instead of protobuf.lib), and so the linker invocation here

https://github.com/protocolbuffers/protobuf/blob/796e49f6ca82f763d1087d2ff7355d2f0d7b71b1/cmake/upb.pc.cmake#L9

is actually looking for the wrong library (upb.lib instead of the libupb.lib that gets installed). Since %INSTALL_PREFIX%\lib\pkgconfig\upb.pc gets installed by default, it should be correct.

Anything else we should know about your project / environment

The error does not appear with CMake, but there's several more pkg-config files that have the same problem AFAICT.

Contributor Guide