编程的问题。。貌似没有编译成功。

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
回复
头像
tanklis
帖子: 33
注册时间: 2009-05-13 22:36

编程的问题。。貌似没有编译成功。

#1

帖子 tanklis » 2009-08-19 20:27

#include <iostream>
using namespace std;

class sample {
int i;
double d;
public:
sample(int I = 0, double D = 0): i(I), d(D) { cout << "normal-constructed" << endl;}
sample(const sample& rv):i(rv.i), d(rv.d) {cout << " copy-constructed " << endl;}
~sample() {}
sample& operator=(const sample& rv) {
i = rv.i;
d = rv.d;
cout << " operator= " << endl;
}
};

int main()
{
sample s1(1,2.3);
sample s2,s3 = s1;
s2 = s1;
return 0;
}
输出是:
/tmp/ccqFAk9s.o: In function `__static_initialization_and_destruction_0(int, int)':
operator=.cpp:(.text+0x123): undefined reference to `std::ios_base::Init::Init()'
operator=.cpp:(.text+0x128): undefined reference to `std::ios_base::Init::~Init()'
/tmp/ccqFAk9s.o: In function `sample::sample(int, double)':
operator=.cpp:(.text._ZN6sampleC1Eid[sample::sample(int, double)]+0x2e): undefined reference to `std::cout'
operator=.cpp:(.text._ZN6sampleC1Eid[sample::sample(int, double)]+0x33): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
operator=.cpp:(.text._ZN6sampleC1Eid[sample::sample(int, double)]+0x3b): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&)'
operator=.cpp:(.text._ZN6sampleC1Eid[sample::sample(int, double)]+0x43): undefined reference to `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> >&))'
/tmp/ccqFAk9s.o: In function `sample::sample(sample const&)':
operator=.cpp:(.text._ZN6sampleC1ERKS_[sample::sample(sample const&)]+0x27): undefined reference to `std::cout'
operator=.cpp:(.text._ZN6sampleC1ERKS_[sample::sample(sample const&)]+0x2c): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
operator=.cpp:(.text._ZN6sampleC1ERKS_[sample::sample(sample const&)]+0x34): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&)'
operator=.cpp:(.text._ZN6sampleC1ERKS_[sample::sample(sample const&)]+0x3c): undefined reference to `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> >&))'
/tmp/ccqFAk9s.o: In function `sample::operator=(sample const&)':
operator=.cpp:(.text._ZN6sampleaSERKS_[sample::operator=(sample const&)]+0x27): undefined reference to `std::cout'
operator=.cpp:(.text._ZN6sampleaSERKS_[sample::operator=(sample const&)]+0x2c): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
operator=.cpp:(.text._ZN6sampleaSERKS_[sample::operator=(sample const&)]+0x34): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&)'
operator=.cpp:(.text._ZN6sampleaSERKS_[sample::operator=(sample const&)]+0x3c): undefined reference to `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> >&))'
/tmp/ccqFAk9s.o:(.eh_frame+0x12): undefined reference to `__gxx_personality_v0'
collect2: ld 返回 1
这个是什么情况呢?
我装的不是菜鸟,是寂寞。
def
帖子: 848
注册时间: 2009-07-05 19:36

Re: 编程的问题。。貌似没有编译成功。

#2

帖子 def » 2009-08-19 20:34

:em05 请加上 -lstdc++ 参数或使用 g++ 编译

C++就要有C++的库
头像
tanklis
帖子: 33
注册时间: 2009-05-13 22:36

Re: 编程的问题。。貌似没有编译成功。

#3

帖子 tanklis » 2009-08-19 20:51

def 写了::em05 请加上 -lstdc++ 参数或使用 g++ 编译

C++就要有C++的库
呃。。囧一下。。。那怎么让它完成link后直接输出结果呢?
还有。。怎么让他生成于源文件名字相同的输出文件?
我装的不是菜鸟,是寂寞。
def
帖子: 848
注册时间: 2009-07-05 19:36

Re: 编程的问题。。貌似没有编译成功。

#4

帖子 def » 2009-08-19 21:44

-o filename

ok..........
头像
Allen1st
帖子: 404
注册时间: 2008-11-08 9:28

Re: 编程的问题。。貌似没有编译成功。

#5

帖子 Allen1st » 2009-08-19 21:46

g++ xx.cpp -o xx

xx为文件名
凸-_-
头像
tanklis
帖子: 33
注册时间: 2009-05-13 22:36

Re: 编程的问题。。貌似没有编译成功。

#6

帖子 tanklis » 2009-08-19 22:18

Allen1st 写了:g++ xx.cpp -o xx

xx为文件名
呃。。。还要自己指定啊。。。我懒啊。。~~·
我装的不是菜鸟,是寂寞。
回复