关于网友提出的“ 在C++中一个Cpp文件要引用另一个cpp文件中的函数”问题疑问,本网通过在网上对“ 在C++中一个Cpp文件要引用另一个cpp文件中的函数”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: 在C++中一个Cpp文件要引用另一个cpp文件中的函数描述:
c语言cpp函数
//myfile.hvoid fun();
//myfile.cpp
void fun()
{
}
//myfile1.h
#include "myfile.h"
void funcc();
//myfile1.cpp
void funcc()
{
void fun();
}
在编译后显示unresolved external symbol void fun()函数。#include "myfile.h"必须在myfile1.h中,因为还有别的要定义。
请问这是哪里出了问题?
解决方案1:
这是链接的时候出的问题。
两个 cpp 是分别编译的,然后分别生成两个目标文件(object file, .obj 或 .o )。在链接的时候,必须将两个目标文件同时作为输入才行,因为 main 函数和 func 函数是分别在两个不同的文件中定义的。
你的问题在于链接是只指定了 myfile1.cpp (myfile1.obj 或 myfile1.o ),但是没有链接 myfile.cpp (myfile.obj 或 myfile.o )
是使用头文件的函数,不是cpp。