C++ Xcode duplicates--ld:体系结构x86_64的重复符号

C++ Xcode duplicates--ld:体系结构x86_64的重复符号,c++,xcode,C++,Xcode,我对stackoverflow做了一些研究,到目前为止,这个问题:接近于回答我的问题,但解决方案对我不起作用 因此,我将问题发布在这里(我将省略我猜测的无关部分) main.cpp #include <iostream> #include <cstdlib> #include <sstream> #include <vector> #include "Header.h" #include "functions.cpp" using namesp

我对stackoverflow做了一些研究,到目前为止,这个问题:接近于回答我的问题,但解决方案对我不起作用

因此,我将问题发布在这里(我将省略我猜测的无关部分)

main.cpp

#include <iostream>
#include <cstdlib>
#include <sstream>
#include <vector>

#include "Header.h"
#include "functions.cpp"

using namespace std;

int main(int argc, const char * argv[])
{
string word;
string inText;
vector<string>wordArray;

cout << "Input text: " << endl;
//Get any size of input from user
getline(cin, inText);
cout << "getline input: " << inText;

AppliedFunctions applFunction;

leastFreqLetter = applFunction.getLeastFreqLetter(inText);

cout << "leastFreqLetter is: " <<     
leastFreqLetter << endl;

return 0;
}
重复符号的一个示例:

Build/Intermediates/Assignment 1.build/Debug/Assignment     
1.build/Objects-normal/x86_64/functions.o
duplicate symbol _currLetter in:

/PATH_TO_XCODE_FOLDER/DerivedData/Assignment_1-
ercdhboeobtkrkgyggpfqkbzqnlj/Build/Intermediates/Assignment 
1.build/Debug/Assignment 1.build/Objects-normal/x86_64/main.o

/PATH_TO_XCODE_FOLDER/DerivedData/Assignment_1-
ercdhboeobtkrkgyggpfqkbzqnlj/Build/Intermediates/Assignment 
1.build/Debug/Assignment 1.build/Objects-normal/x86_64/functions.o
我发现(在本例中)main.o和functions.o中分别存在重复的变量。因此,我尝试将main.cpp中的#include“functions.cpp”与在同一文件中使用AppliedFunctions类的任何内容一起转换为注释。这确实将注册副本的数量从38个减少到了5个,但是如果我将上面提到的部分转换为注释,那么main.cpp无法“看到”我想在main方法中测试的函数,例如getLeastFreqLetter()

我还尝试在windows 7上的Dev-C++中运行相同的项目,但遇到了完全相同的错误消息。我也没有在buildsettings>Linking>otherlinker标志下设置-ObjC标志

我为给您带来的不便提前道歉。我确信解决办法是直截了当的,我只是看不到显而易见的东西

规格: XCode:6.4版(6E35b)

XCode中的编译器(如果错误日志中的名称正确):clang


Dev-C++:4.9.9.2

您从不包含源文件(
.cpp
),只包含头文件(
.h
)。为什么要包含它?请删除
#包含“functions.cpp”
,并正确修复遇到的问题。您需要将
内联
添加到标头中定义的成员函数中。您永远不包括源文件(
.cpp
),只包括标头文件(
.h
)。为什么要包含它?请删除
#包含“functions.cpp”
,并正确修复遇到的问题。您需要将
inline
添加到您在标题中定义的成员函数中。
#include <iostream>
#include <stdio.h>
#include <string>
#include <sstream>
#include <vector>

#include "Header.h"

(variable initializations...)

char AppliedFunctions::getLeastFreqLetter(string inputText)
{
    //Method body
}
ld: 38 duplicate symbols for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see      
invocation)   
Build/Intermediates/Assignment 1.build/Debug/Assignment     
1.build/Objects-normal/x86_64/functions.o
duplicate symbol _currLetter in:

/PATH_TO_XCODE_FOLDER/DerivedData/Assignment_1-
ercdhboeobtkrkgyggpfqkbzqnlj/Build/Intermediates/Assignment 
1.build/Debug/Assignment 1.build/Objects-normal/x86_64/main.o

/PATH_TO_XCODE_FOLDER/DerivedData/Assignment_1-
ercdhboeobtkrkgyggpfqkbzqnlj/Build/Intermediates/Assignment 
1.build/Debug/Assignment 1.build/Objects-normal/x86_64/functions.o