C和C++混合编程时CMakeLists编写需要注意的地方

事件还原: 组里小兄弟在做一个研发Demo的时候,基于一个开源C库和一个开源C++库混合编程,cmake以后编译到100%,在链接阶段报错undefined reference to ‘xxxxxx’,此处报错的函数是C库中的一个函数,经检查CMakeLists语法没有问题,代码没有问题,但一直报该错误。

C和C++混合编程时CMakeLists编写需要注意的地方_第1张图片

问题分析: 最后发现,在CMakeLists.txt中的project字段中他指定了编译语言CXX,这就导致编译器在编译过程中所有代码按C++编译流程进行,最终导致该错误。

C和C++混合编程时CMakeLists编写需要注意的地方_第2张图片

解决方案: 删除CMakeLists.txt中的project字段中的LANGUAGES CXX,再次编译解决问题。


总结: 在进行C和C++混合编程时,CMakeLists.txt中不需要指定编程语言类型。

你可能感兴趣的:(#,▶,编译与调试,#,▶,C/C++,c++,开发语言)