我有3个文件: - main.cpp - other.cpp - other.h
我试图调用一个在main.cpp中声明的函数,其中的代码是在other.cpp中编写的
我的代码:
main.cpp中:
//#Allmyincludes
#include "other.h"
int main(int argc, const char *argv[])
{
const char *file = argv[1];
read(file);
return 0;
}
other.cpp:
//#Allmyincludes
#include "other.h"
void read(const char *file)
{
//code
}
other.h:
void read(const char *file);
我得到的错误是:
main.cpp:(.text+0x44): undefined reference to 'read(char const*)'
在read()
内,我使用main::variableName
从main(无错误)中访问变量,但是我无法让函数调用工作。
如果我尝试执行other::read(file);
也不起作用,因为::
用于函数而不是文件。它给了我错误:'other' has not been declared.
非常感谢任何有关我的标题文件/调用无效的说明。
答案 0 :(得分:1)
导致未定义的引用错误的原因有很多。在你的情况下,根据你所描述的,最有可能的是你没有编译other.cpp
您需要将other.cpp添加到项目/ makefile /命令行。
有关更详细的帮助,您可能需要解释如何构建程序。代码没有任何实际问题,这是你构建程序的方式。
答案 1 :(得分:0)
试
gcc -Wall main.cpp other.cpp -o mymain