0

我有 3 个文件: - main.cpp - other.cpp - other.h

我正在尝试从 main.cpp 调用在 other.h 中声明的函数,代码是在 other.cpp 中编写的

我的代码:

主.cpp:

//#Allmyincludes
#include "other.h"

int main(int argc, const char *argv[])
{
    const char *file = argv[1];
    read(file);
    return 0;
}

其他.cpp:

//#Allmyincludes
#include "other.h"

void read(const char *file)
{
    //code
}

其他.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.

非常感谢任何关于为什么我的头文件/调用不起作用的解释。

4

2 回答 2

1

未定义的引用错误有很多原因。就您而言,根据您的描述,最有可能的是您尚未编译 other.cpp

您需要将 other.cpp 添加到您的项目/makefile/命令行。

要获得更详细的帮助,您可能需要解释如何构建程序。代码实际上没有任何问题,问题在于您构建程序的方式。

于 2013-10-11T14:04:32.103 回答
0

尝试

gcc -Wall main.cpp other.cpp -o mymain

于 2013-10-11T14:24:24.187 回答