2013-04-27 82 views
0

我通過Xcode的安裝GCC,但我正在試圖編譯的文件時,這個錯誤:如何解決這個問題? C++編譯器設置

sanjay$ g++ main.cpp 
Undefined symbols for architecture x86_64: 
    "Fraction::Fraction(int, int)", referenced from: 
     MathAssignTest()  in cck2LKpO.o 
     BinaryMathTest()  in cck2LKpO.o 
     RelationTest()  in cck2LKpO.o 
     BasicTest() in cck2LKpO.o 
    "Fraction::operator/=(Fraction const&)", referenced from: 
     MathAssignTest()  in cck2LKpO.o 
    "Fraction::operator-=(Fraction const&)", referenced from: 
     MathAssignTest()  in cck2LKpO.o 
    "Fraction::operator*=(Fraction const&)", referenced from: 
     MathAssignTest()  in cck2LKpO.o 
    "Fraction::operator--(int)", referenced from: 
     MathAssignTest()  in cck2LKpO.o 
    "Fraction::operator--()", referenced from: 
     MathAssignTest()  in cck2LKpO.o 
    "Fraction::operator+=(Fraction const&)", referenced from: 
     MathAssignTest()  in cck2LKpO.o 
    "Fraction::operator++(int)", referenced from: 
     MathAssignTest()  in cck2LKpO.o 
    "Fraction::operator++()", referenced from: 
     MathAssignTest()  in cck2LKpO.o 
    "operator/(Fraction const&, Fraction const&)", referenced from: 
     BinaryMathTest()  in cck2LKpO.o 
    "operator==(Fraction const&, Fraction const&)", referenced from: 
     RelationTest()  in cck2LKpO.o 
    "operator>=(Fraction const&, Fraction const&)", referenced from: 
     RelationTest()  in cck2LKpO.o 
    "operator>(Fraction const&, Fraction const&)", referenced from: 
     RelationTest()  in cck2LKpO.o 
    "operator<=(Fraction const&, Fraction const&)", referenced from: 
     RelationTest()  in cck2LKpO.o 
    "operator<<(std::basic_ostream<char, std::char_traits<char> >&, Fraction const&)", referenced from: 
     MathAssignTest()  in cck2LKpO.o 
     BinaryMathTest()  in cck2LKpO.o 
     RelationTest()  in cck2LKpO.o 
     BasicTest() in cck2LKpO.o 
    "operator<(Fraction const&, Fraction const&)", referenced from: 
     RelationTest()  in cck2LKpO.o 
    "operator-(Fraction const&, Fraction const&)", referenced from: 
     BinaryMathTest()  in cck2LKpO.o 
    "operator*(Fraction const&, Fraction const&)", referenced from: 
     BinaryMathTest()  in cck2LKpO.o 
    "operator!=(Fraction const&, Fraction const&)", referenced from: 
     RelationTest()  in cck2LKpO.o 
    "operator+(Fraction const&, Fraction const&)", referenced from: 
     BinaryMathTest()  in cck2LKpO.o 
    "operator>>(std::basic_istream<char, std::char_traits<char> >&, Fraction&)", referenced from: 
     BasicTest() in cck2LKpO.o 
ld: symbol(s) not found for architecture x86_64 
collect2: ld returned 1 exit status 

如何解決這個問題? 我很確定我的g ++編譯器已經正確設置,因爲它適用於不同文件夾中的文件。請幫助我解決這個問題..我是這個語言的初學者,我正在盡力理解。

+0

包含Fraction類的模塊也必須編譯並鏈接到main.cpp以形成可執行文件。鏈接器正在搜索列出的符號 - 它們不在main.cpp中。 – suspectus 2013-04-27 10:29:25

回答

0

您需要將包含Fraction類的cpp文件添加到命令行。像這樣的東西

g++ main.cpp Fraction.cpp 

希望有幫助。 :)

+0

謝謝!這解決了它 – tmacnadidas 2013-04-27 17:40:13