C++如何引入其他.cpp文件中的函数?按教程操作仍无法调用怎么解决
问题根因
你当前的头文件声明、函数实现、主函数调用逻辑均没有语法错误,问题出在编译链接阶段没有将所有关联的.cpp源文件共同参与编译,链接器无法找到sum函数的实现地址,因此报错。
对应解决方案
根据你使用的编译工具不同,对应处理方式如下:
- 命令行编译(GCC/Clang等)
不要只编译Main.cpp单个文件,需要将所有用到的cpp文件一同传入编译指令,示例命令:
执行后生成的可执行文件g++ Main.cpp Header.cpp -o demodemo即可正常运行。 - Visual Studio、CLion等IDE
确认Header.cpp已经被添加到当前项目的源文件列表中,IDE默认只会编译工程内的cpp文件,未纳入工程的源文件不会参与编译,自然找不到函数实现。 - Make/CMake等构建工具
检查构建配置文件,确认Header.cpp已经被加入待编译的源文件集合中。
注意避坑
不要为了临时解决问题使用#include "Header.cpp"这种错误写法,该方式会导致函数符号重复定义,后续多文件开发会引发更多不可预期的错误。
内容的提问来源于stack exchange,提问作者Chief
相关产品推荐
相关产品推荐

