未定义的引用C++

Undefined reference C++?

本文关键字:C++ 引用 未定义      更新时间:2023-10-16

c++新手,并且试图使用教授为我们和我制作的文件,但我不能使用它提供的任何函数,这是提供未定义引用的代码。我没有包括函数实现,但它们又被提供了,所以它们是正确的。我使用的是代码块,这三个文件都在我的源文件夹中。是什么原因造成的?

#include <iostream>
using namespace std;
#include "random.h"

int main()
{
cout<< random_instance(6,2.5,1);
return 0;
}

这是随机的.h

#ifndef RANDOM_H
#define RANDOM_H
#define TWO_PI 6.2831853071795864769252866
double * random_instance( int length, const double mu, const double sigma = 1 );
double gaussian_rand( const double mu, const double sigma );
#endif /* defined(RANDOM_H) */

缺少random_instance的定义。

您可能也应该编译并链接random.cpp,其中应该包含random.h中声明的函数的定义,可能是这样的:

g++ path/to/main.cpp path/to/random.cpp

在Code::Blocks中,可能有一个部分可以选择要编译和链接的文件。