QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

楼主: 北斗星君

Linux的C++编程。

[复制链接]
发表于 2003-11-3 08:43:18 | 显示全部楼层
等~stop,能否给我介绍一些关于linux下使用c++开发的书籍~
谢谢各位啦
小弟跪谢
回复

使用道具 举报

发表于 2003-11-4 11:40:43 | 显示全部楼层
[quote:5162270aac="dcrmonkeys"]这是我的编译结果,为什么是这样啊
可以生成*.o却不能生成可执行文件
[blackyujinx@dcrmonkeys test]$ gcc -c  c++.cpp
[blackyujinx@dcrmonkeys test]$ ls
c++.cpp   
c++.cpp~  
c++.o     
[blackyujinx@dcrmonkeys test]$ gcc -o hello c++.o
c++.o(.text+0x19): In function `main':
: undefined reference to `std::cout'
c++.o(.text+0x1e): In function `main':
: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std:perator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
c++.o(.text+0x4a): In function `__static_initialization_and_destruction_0(int, int)':
: undefined reference to `std::ios_base::Init::Init[in-charge]()'
c++.o(.text+0x79): In function `__tcf_0':
: undefined reference to `std::ios_base::Init::~Init [in-charge]()'
c++.o(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'
collect2: ld returned 1 exit status
[blackyujinx@dcrmonkeys test]$ ls
c++.cpp   
c++.cpp~  
c++.o
[blackyujinx@dcrmonkeys test]$[/quote]

you should use:

g++ -c c++.cpp
g++ -o hello c++.o

or rather

g++ -o hello c++.cpp
回复

使用道具 举报

发表于 2003-11-4 11:46:56 | 显示全部楼层
if you cares only about standard c++ there is no need for you to find a book on linux c++ programming. it is because this kind of books only teach you topics on linux specfied topics like semaphoes.

try to figure out what is 'make', then try to study automake.

i think these two command will help you a lot:

man gcc
gcc --help

learn it by yourself is much more fun.
回复

使用道具 举报

发表于 2003-11-4 11:57:05 | 显示全部楼层
[quote:5d6977eb57="djklhm"]麻烦[/quote]
come on man, you should know GNU is not only working on projects about i386 only, all these options are for the benefits of all.
furthermore, gcc stand for general compiler collection. take note it is not only a c compiler. it can compile BASIC, FORTRAN, ada, java and many other languages for various platforms such as solaris, apple computer, and even embeded systems like PDA. do you know you can compile a program under linux to run under windows with proper configuration and API?

and if you are familiar with gcc you can even create you own language?

can VC++ do this? i doubt.

acturally the compile process can be much simplified by GNU autoscan and automake.
回复

使用道具 举报

发表于 2003-11-4 21:48:43 | 显示全部楼层
vi tmp.cc

[code:1]
#include<iostream>
using namespace std;

int main()
{
cout<<"hello c++";

return 0;
}


[/code:1]

g++ tmp.cc
./a.out
回复

使用道具 举报

 楼主| 发表于 2003-11-17 21:04:57 | 显示全部楼层
为什么我在控制台输入 Hello
不能运行Hello的可执行程序。

我该如何去运行他呢?
回复

使用道具 举报

发表于 2003-11-17 23:12:56 | 显示全部楼层
你的文件名是Hello吗,如果在当前目录编译的,应该输入./Hello
回复

使用道具 举报

发表于 2003-11-22 23:44:26 | 显示全部楼层

在windows下的VC++程序是可以在linux下用的。

只要你用的是标准的C++库,是可以的。
前几天,我在win下开发了一个编译程序,用的就是标准C++库,
移到linux下来,只重新组织了一下就可以编译通过,
没有 问题的。

对于你的问题,偶就不清楚是怎么会事了。

你试试这样行吗?
#include <iostream>
int main()
{
std::cout&lt;&lt;"hello,how are you?&lt;&lt;std::endl;
return 0;
}

反正我这里行。
回复

使用道具 举报

发表于 2003-11-23 08:26:39 | 显示全部楼层
#include <iostream>
回复

使用道具 举报

 楼主| 发表于 2003-11-25 21:35:34 | 显示全部楼层
谢谢各位的帮助,我现在能够在Linux编译了和运行的。

顺便问一下,如何在C++中调用POXIS函数?
回复

使用道具 举报

发表于 2003-11-26 23:15:58 | 显示全部楼层
我试过用g++编译可以啊!下面这个就没有问题!

#include<iostream.h>

int main()
{
cout&lt;&lt;"Hello World!\n";

return 1;
}


我已经输入了那人iostream.h
不过没有显示出来
可能是这个网页设计有问题!

[/url]
回复

使用道具 举报

发表于 2003-11-27 09:51:51 | 显示全部楼层
不用跟上包含文件名吗?
回复

使用道具 举报

 楼主| 发表于 2003-11-28 17:53:06 | 显示全部楼层
谢谢各位的支持。我现在能够正常编写了。

另外,问一下。如何调用POXIS函数?
回复

使用道具 举报

发表于 2003-11-28 21:42:49 | 显示全部楼层
编译C++文件请使用 g++ 而不用 gcc
否则,无法编译!!!
回复

使用道具 举报

发表于 2003-12-11 14:37:30 | 显示全部楼层
如果要链接系统库的话, 编译C++程序用g++, 因为gcc不会连的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-9 06:21 , Processed in 0.041613 second(s), 13 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表