How to fix CMake Protobuf "FindThreads only works if either C or CXX language is enabled"
Problem:
When trying to configure your CMake project using
find_package(Protobuf REQUIRED)
you see an error message like
CMake Error at /usr/share/cmake-3.16/Modules/FindThreads.cmake:49 (message):
FindThreads only works if either C or CXX language is enabled
Call Stack (most recent call first):
/usr/share/cmake-3.16/Modules/FindProtobuf.cmake:420 (find_package)
CMakeLists.txt:7 (find_package)
-- Configuring incomplete, errors occurred!
Solution
You need to put your
project(MyProject)
line before the
find_package(Protobuf REQUIRED)
line. If you don’t have a project()
line, create one.