|
藍森林 http://www.lslnet.com 2006年6月6日 10:18
如何在linux下通過編譯
請教各位大俠:
gcc xhk_main.o mod_server.o mod_netlib.o mod_api.o -lsocket -o xhk_main
[color=red][b]/usr/bin/ld: cannot find -lsocket
collect2: ld returned 1 exit status
make: *** [xhk_main] Error 1[/b][/color]
在linux下該如何操作,才能編譯通過?
我的makefile文件是這樣的
LIBS=socket
CFLAGS=-g
OBJS_MAIN=xhk_main.o mod_server.o mod_netlib.o mod_api.o
xhk_main:${OBJS_MAIN}
gcc ${OBJS_MAIN} -l${LIBS} -o xhk_main |
如何在linux下通過編譯
去掉 -l$(LIBS)就可以了
#LIBS=socket
CFLAGS=-g
OBJS_MAIN=xhk_main.o mod_server.o mod_netlib.o mod_api.o
xhk_main:${OBJS_MAIN}
gcc ${OBJS_MAIN} -o xhk_main |
如何在linux下通過編譯
gcc xhk_main.o mod_server.o mod_netlib.o mod_api.o -o xhk_main
collect2: ld terminated with signal 11 [Segmentation fault]
make: *** [xhk_main] Error 1
現在是這樣的錯誤信息,那collect2是什麼東東,
我程序中沒用到呀? |
如何在linux下通過編譯
CFLAGS=-g
xhk_main.o:xhk_main.c
gcc -c xhk_main.c
mod_server.o:mod_server.c
gcc -c mod_server.c
mod_netlib.o:mod_netlib.c
gcc -c mod_netlib.c
mod_api.o:mod_api.c
gcc -c mod_api.c
OBJS_MAIN=xhk_main.o mod_server.o mod_netlib.o mod_api.o
xhk_main:${OBJS_MAIN}
gcc ${OBJS_MAIN} -o xhk_main |
如何在linux下通過編譯
CC: gcc
SRC: xhk_main.C mod_server.c mod_netlib.c mod_api.c
OBJS: xhk_main.o mod_server.o mod_netlib.o mod_api.o
xhk_main: $(OBJS)
.c.o:
$(CC) -o $@ -c $< |
如何在linux下通過編譯
collect2是編譯器gcc自己調用的
不是你調用的
另外不使用-lsocket也可以吧
因為libsocket庫可能是默認就連接(與libc一樣)的
我以前寫時就是沒有使用-lsocket
一樣連接成功 |
| |