在C++中一个Cpp文件要摘引另一个cpp文件中的函数
在C++中一个Cpp文件要引用另一个cpp文件中的函数
//myfile.h
void 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中,因为还有别的要定义。
请问这是哪里出了问题?
------解决思路----------------------
是使用头文件的函数,不是cpp。
------解决思路----------------------
这是链接的时候出的问题。
两个 cpp 是分别编译的,然后分别生成两个目标文件(object file, .obj 或 .o )。在链接的时候,必须将两个目标文件同时作为输入才行,因为 main 函数和 func 函数是分别在两个不同的文件中定义的。
你的问题在于链接是只指定了 myfile1.cpp (myfile1.obj 或 myfile1.o ),但是没有链接 myfile.cpp (myfile.obj 或 myfile.o )
//myfile.h
void 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中,因为还有别的要定义。
请问这是哪里出了问题?
------解决思路----------------------
是使用头文件的函数,不是cpp。
------解决思路----------------------
这是链接的时候出的问题。
两个 cpp 是分别编译的,然后分别生成两个目标文件(object file, .obj 或 .o )。在链接的时候,必须将两个目标文件同时作为输入才行,因为 main 函数和 func 函数是分别在两个不同的文件中定义的。
你的问题在于链接是只指定了 myfile1.cpp (myfile1.obj 或 myfile1.o ),但是没有链接 myfile.cpp (myfile.obj 或 myfile.o )