CMake doesn't link C and C++ static libraries (undefined reference to function)
The problem here is, that the linker relies on the order of the libraries. With
target_link_libraries(prog funcc_lib funccpp_lib)
It first links funcc_lib
and then funccpp_lib
. But it never gets back to funcc_lib
. Since funccpp_lib
depends on funcc_lib
, you have to change the order of the libraries:
target_link_libraries(prog funccpp_lib funcc_lib)
For additional information, see this discussion.