2016-11-02 86 views
-3

所以,我運行一個CPU調度溢流閥的代碼,但我遇到了一些錯誤來在編譯時什麼是/var/tmp//ccz0ct2G.o?

Undefined      first referenced 
symbol        in file 
std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /var/tmp//ccz0ct2G.o 
std::basic_ostream<char, std::char_traits<char> >::operator<<(std::basic_ostream<char, std::char_traits<char> >& (*)(std::basic_ostream<char, std::char_traits<char> >&)) /var/tmp//ccz0ct2G.o 
std::cout       /var/tmp//ccz0ct2G.o 
std::basic_ofstream<char, std::char_traits<char> >::close() /var/tmp//ccz0ct2G.o 
std::ios_base::Init::~Init()  /var/tmp//ccz0ct2G.o 
std::ios_base::Init::Init()   /var/tmp//ccz0ct2G.o 
std::basic_ios<char, std::char_traits<char> >::operator!() const /var/tmp//ccz0ct2G.o 
__gxx_personality_v0    /var/tmp//ccz0ct2G.o 
std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*) /var/tmp//ccz0ct2G.o 
std::basic_ifstream<char, std::char_traits<char> >::basic_ifstream(char const*, std::_Ios_Openmode) /var/tmp//ccz0ct2G.o 
std::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&) /var/tmp//ccz0ct2G.o 
ld: fatal: Symbol referencing errors. No output written to a.out 
collect2: ld returned 1 exit status 

我不明白爲什麼我得到這些錯誤,什麼是/var/tmp//ccz0ct2G.o

幾乎所有的錯誤都有。

+1

請在您的問題中包含完整的錯誤信息。 –

+0

這可能與仿真軟件有關。我的意思是它會在/ var/tmp文件夾中生成源文件嗎? – drescherjm

+0

我正在使用Putty(Unix)進行編譯,並且我無法訪問/ var/tmp來檢查 – SPLASH

回答

1

我不明白爲什麼我得到這些錯誤

你的程序嘗試使用的東西,是一個外部庫或不同對象文件的一部分,但你不能把它們遞過來鏈接器也是如此。

什麼是/var/tmp//ccz0ct2G.o?

一個臨時目標文件,包含將在編譯過程的後續階段中使用的中間數據。

讓我猜:你試着用了一句類似

g++ somesource.cc 

你看到一個命令來編譯,編譯包括幾個階段:

1. compiling the individual source files (`*.c`, `*.cc` and so on) into *object files* (`*.o`). 
2. linking the produced object files together into the actual program or library 

當你調用編譯器是你一個人,這是一種簡單的方式,可以在一次呼叫中完成兩項操作。但是爲了簡單起見,還因爲目標文件可能變得相當大,並且可能會造成將它們全部保留在內存中的問題,所以編譯源文件的結果被放置到臨時目標文件中。那就是你在那裏。

+0

只要你說圖書館我打我自己。我回去檢查了我發現我缺少'conio.h'的庫。它沒有解決所有的錯誤,但它確實刪除了一些錯誤。謝謝哥們,我會在發佈另一個問題XD之前嘗試解決其他錯誤 – SPLASH

相關問題