这是我一直在犯的错误。对我班级的未定义参考。我不确定。我想我是在联系他们。这就是我的主要外观。
#include <iostream>
#include "randomNumberMagnifier.h"
using namespace std;
int main()
{
randomNumberMagnifier r1, r2;
cout << "Random Number "<< r1.getRandomNumber();
cout << endl;
}
我不确定我做错了什么。 这就是它的样子。当我编译
[singha1@cs1 p4]$ g++ -c randomNumberMagnifier.cpp
[singha1@cs1 p4]$ g++ -o p4Driver.cpp
g++: no input files
p4Driver.cpp:(.text+0x8c): undefined reference to `randomNumberMagnifier::getRandomNumber
collect2: ld returned 1 exit status
#ifndef RANDOMNUMBERMAGNIFIER_H
#define RANDOMNUMBERMAGNIFIER_H
class randomNumberMagnifier
{
int addFactor;
int multFactor;
bool addOn;
bool multOn;
int randomNumber;
static const int MAX_ADD_FACTOR = 100;
static const int MAX_MULT_FACTOR = 20;
static const int MAX_RANDOM = 200;
public:
randomNumberMagnifier();
//~randomNumberMagnifer();
randomNumberMagnifier& operator=(const randomNumberMagnifier& rhs);
randomNumberMagnifier(const randomNumberMagnifier& arandom);
randomNumberMagnifier(bool aState, bool mState);
int randomMagnifier();
int getAdd();
int getMult();
bool getAddState();
bool getMultState();
int getRandomNumber();
};
#endif
答案 0 :(得分:3)
g++ -o p4Driver.cpp
这并没有说明它应该将编译为,这是-o
应该是什么。你想要:
g++ -c randomNumberMagnifier.cpp
g++ -c p4Driver.cpp
g++ randomNumberMagnifier.o p4Driver.o -o p4Driver
或者只是:
g++ randomNumberMangifier.cpp p4Driver.cpp -o p4Driver
答案 1 :(得分:1)
你需要提供randomNumberMagnifier.o到g ++命令,所以它可以找到函数定义。我用下面的命令测试了,我工作了
g++ -o p4Driver p4Driver.cpp randomNumberMagnifier.o