-3

「複数の定義」というエラーが発生しました。3つのファイル、つまり、currency.h、currency.cpp、main.cppを取得しました。

CurrencyConverterクラスのcurrencyConverter.hで

using namespace std;

class currencyConverter
{

string result;
stringstream ss;
size_t found,found2;

public:
   void getInbetween(string,string);

};

#endif  /* CURRENCYCONVERTER_H */

それからcurrencyConverter.cppで私はしました

#include "currencyConverter.h"
void currencyConverter::getInbetween(string selection,string str2,string str3,string sdata)
{

buffer[result.length()] = '\0';     //insert '\0'

char * pch;
 pch = strtok (buffer," ");

}

void currencyConverter::webparser(const string siteurl,const string filename)
{
    ss << "lynx -dump '" << siteurl << "' > " << filename;
}

string currencyConverter::userOption()
{
    //some code    
    return selection;
}

main2.cppで

#include<iostream>


#include"currencyConverter.cpp"

using namespace std;

int main() {

    currencyConverter c;
    string exitstr;


    if(selection!="6")
    {

    c.webparser(parsePage,"file.txt");    
    //now perform searchstring
    c.searchString(selection,"file.txt");
    }


    }while (1);

return 0;
}

これは私のメイクファイルです

# ExampleTests Project

SRCS = main2.cpp

HDRS = 

PROJ = main

CC = g++

OBJS = $(SRCS:.cpp=.o)

APP = $(PROJ).exe

CFLAGS = -c -g -Wall -I/opt/local/include

ifeq (,$(findstring CYGWIN,$(shell uname)))

LIBS = -lcppunit -ldl



all: $(APP)



$(APP): $(OBJS)

    $(CC) $(LDFLAGS) $(OBJS) -o $(APP) $(LIBS)




clean:

    rm -f *.o $(APP)

しかし、私はコンパイラでこのエラーを受け取ります

この修正を取得する方法..私はそれを2回使用しませんでした。自分のcurrencyConverter.cppの一部を関数webparserで貼り付けましたが、main2.cppで関数を呼び出す方法にエラーがありますか?

rm -f *.o main.exe

CLEAN SUCCESSFUL (total time: 86ms)
g++    -c -o main2.o main2.cpp

td :: char_traits、std :: allocator>)':currencyConverter.cpp:(。text+ 0xcec): `currencyConverter :: webparser(std :: basic_string、std :: allocator>、std :: basic_string、stdの複数の定義:: allocator>)'main2.o:main2.cpp:(。text + 0xcec):ここで最初に定義されたcollect2:ldが1つの終了ステータスを返しましたmake:* [main.exe]エラー1

4

1 に答える 1

3

cpp:ではなく、ヘッダーファイルをインクルードします。

#include"currencyConverter.cpp"

する必要があります

#include"currencyConverter.h"

あなたの中でmain2.cpp

于 2012-07-28T10:02:03.387 に答える