建立目标:Lab1
调用:MacOS X C ++链接器
g ++ -o“Lab1”./src/EclipseR.o ./src/EclipseR_test.o ./src/Row.o ./src/Rows.o
架构x86_64的未定义符号:
“Row :: AddColumn(int,std :: __ 1 :: basic_string,std :: __ 1 :: allocator>)”,引自:
EclipseR.o中的_main
Row.h
#fndef ROW_H_
#define ROW_H_
#include <iostream>
using namespace std;
Class Row {
public:
Row();
Row(std::string id);
string id;
string columns[24]
void AddColumn(int index, std::string value);
};
#endif
Row.cpp
#include "Row.h"
#include <iostream>
#include <string>
using namespace std;
string columns[24];
Row::Row(){
// TODO
}
Row::Row(string id) {
this->id = id;
cout << "ID: " << this->id;
}
Row::~Row()
{
//Deconstructor
}
void AddColumn(int index, std::string value)
{
columns[index] = value;
}
答案 0 :(得分:0)
我想出了我的问题。
在我的Row.cpp类中,我需要更改以下内容
void AddColumn(int index, std::string value){...}
到
void Row::AddColumn(int index, std::string value){...}