易截截图软件、单文件、免安装、纯绿色、仅160KB

C++ Linux高手进来一下,

我用kdevelop新建了一个基于简单的helloworld的工程,其实我是想跟VC那样创建一个DLL的工程(相当LINUX下的SO),不过这IDE好像没有,我在这里面有10个来类,这些类之间可能存在交叉引用的关系,本身又引用了外部的两个SO文件,把其对应的.h文件包含进来了,我现在想把整个工程编译成一个so的文件(里面调用了另外两个外部SO里面的类)
编译后这个IDE在一个目录下已经生成了很多个.o文件:aggregates.o b2c.o baseobject.o datafactory.o 等等
请问怎么生成.so文件,
g++ -shared -o libmylib.so aggregates.o b2c.o baseobject.o datafactory.o ?

还有如果别人要引用我这个SO,要包含头文件,比如说我对外的所有接口就是datafactory类的一些方法,按理说就包含这个头文件就行了,但我这个头文件本身又包含了其他类的头文件,这样下去,最后发现不是把所有的头文件都 要让外部用户包含了?

本人第一次用linux下的C++编程,

谁能给指点一下思路




还引用了另外两个so 呢,(z.so curl.so),不需要在这条编译命令里写?


[Quote=引用 1 楼 thy38 的回复:]
只要包含主文件里面include的文件就可以了。


---------------------------------
不可能吧,我这个主文件里面包含了一些头文件,这些文件里面又包含了其他的头文件,最终搞得都 包含进来了,搞得这个SO的封装没啥 意义了,本来是想对原先两个SO进行一些封装,让别人直接用我这个SO,


看来用linux的这里还是不多啊


如需要阅读该回复,请登录或注册CSDN!




相关问答:

C 程序问题 (二) - C/C++ / C语言

问一下:
#include <stdio.h>
int main()
{
  char x, y, z;
  int i;
  int a[16];
  for(i=0; i<=16; i++)
  {
  a[i] = 0;
  ......

c中的转义字符问题

    '\108'作为字符常量对不对?
转义字符'\ddd'表示3位8进制所代表的字符。 但是108不是正确的8进制表示方法,因此应该是错误的。
但是char a='\108'; 为什么编译不出错呢?
\108 没超过 ......

C/S程序在线自动更新问题,谢谢求教!

目前遇到的问题是:
存放在远程服务器端c/s程序一有更新,如何做到客户端立即响应弹出有最新升级的提示窗口。
本来有点思路:采用WCF+windowns服务+定时器的方式也能实现,但是每台客户端机子每隔都去访问一下远程 ......

linux环境下gethostbyname函数问题 - C/C++ / C语言

写了个测试程序如下
   
  struct hostent *hp; 
char AlarmDevIP[20];  
  int x2;

hp = gethostbyname("www.google.com");
if (hp)
{ ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号