linux 动态库调用问题
给个实例吧。
加入动态库后makefile文件怎么写,我现在的makefile文件如下:
OBJ = main.o
LINKOBJ =main.o
EXEC = test
CXXFLAGS = $(CXXINCS)
CFLAGS = $(INCS)
CC = gcc
LDFLAGS = -Wl,-elf2flt
.PHONY: all all-before all-after clean clean-custom
all: $(EXEC)
clean: clean-custom
rm -f $(OBJ) $(EXEC)
$(EXEC): $(OBJ) *.h
$(CC) $(LDFLAGS) -o $@ $(OBJ) $(LDLIBS)
romfs:
$(ROMFSINST) /bin/$(EXEC)
在这个基础上该如何修改?
你的动态库放在哪里的?
如果构建的时候是放在当前目录下,而且名字叫:libabc.so。那可以:
LDLIBS=-L. -labc
如果是放在系统的某个标准库目录中,就直接
LDLIBS=-labc
假设你有动态库文件为libmydll.so,则
DLLLIB="-L${DLL_LIB_PATH} -lmydll" //DLL_LIB_PATH为你的动态库文件所在的目录
$(CC) -o $@ $(LDFLAGS) $(OBJ) $(LDLIBS) $(DLLLIB)
是不是库名中的lib只表示这个文件为库文件,并不是实际名称中的,比如libabc.so,他的实际名称就是abc.so。
如果我定义的库名就是abc.so,那么是不是直接LDLIBS=-L. -labc就可以
相关问答:
C/C++ code:
char Time="2009-9-23";
FILE *fpOut=fopen("1.txt","w+");
if(fpOut==NULL)
return ;
fwr ......
windows 下的C++编程比较熟练。现在需要转入linux下。
我用的软件是 Source Insight和 SecureCRT , 远程连接 linux服务器。
由于我的 Liunx基础为0. 就是说以前从来都没 ......
问题是这样的,linux系统连接windows的FTP用的是什么端口,是不是随机的,可不可以给它固定某个端口,因为我防火墙打开的时候ftp连不上,防火墙关闭后,ftp可以连的上
咦 怎么没人帮忙解答呢
继续等待
......
我安装一台redhat linux5+oracle 10g的服务器,笔记本(XP系统)安装了oracle 10g客户端,结果老是出12560的错误,请高手指点一二,
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dpor ......