Cygwin에서 libdl을 사용하고 싶습니다.
글쓴이: kingkong / 작성시간: 목, 2003/10/02 - 3:40오후
안녕하세요~
제가 요즘 인공지능 관련해서 공부하고 있는데요.
어디서 linux/xwindow 용 sofm 소스를 하나 구했습니다.
이 소스를 보니까 tcl/tk와 c++로 구성되어 있고 swig를 사용해서 컴파일 하도록 되어 있네요..
이미 설치되어 있는 리눅스가 있어 여기서 돌리려고 보니까 Xwindow가 설치안되어 있어서 설치하려다가 너무 복잡해서 포기했습니다. :oops:
할수 없이 다른 하드디스크를 하나 구해서 리눅스랑 X를 설치하고 swig, tcl/tk 환경에서 돌려보니까 잘 동작합니다.
하지만 원래 다른 용도로 사용하는 pc라 계속 이렇게 쓸수가 없어서
제 윈도 피시에 Cygwin과 Active Tcl을 설치하여 돌릴수 있는 환경을 구축하였는데. 문제는
원 sofm 프로그램에서 libdl.a 라는 라이브러리를 사용하는데 이게 Cygwin에는 포함되어 있지 않더군요.
그래서 인터넷을 검색하여보니 libcygwin.a 가 같은 역할을 하는 라이브러리니 이것을 libdl.a 로 링크하여 사용하라고 하길래 그대로 해봤는데도 안되네요..
Cygwin에서 libdl.a 를 사용하려면 어떻게 해야할까요?
고수님의 도움을 기다리겠습니다.
# Sample Makefile for a Tcl extension SRCS = sofm.c # Source files OBJS = # Object files (already created) INTERFACE = sofm.i # SWIG Interface file WRAPFILE = $(INTERFACE:.i=_wrap.c) WRAPOBJ = $(INTERFACE:.i=_wrap.o) TARGET = sofm.so # Output file # Compiler options CC = gcc #CC = gcc -g CFLAGS = INCLUDE = # SWIG Options SWIG = /usr/local/bin/swig #SWIG = /lusr/bin/swig SWIGOPT = -tcl8 # use -tcl8 for Tcl 8.0 SWIGCC = $(CC) # Rules for creating .o files from source. COBJS = $(SRCS:.c=.o) ALLOBJS = $(COBJS) $(OBJS) # Shared library options (Shown for Linux) CCSHARED = -fpic BUILD = $(CC) -shared # Tcl installation (where is Tcl/Tk located) #TCL_INCLUDE = -I/lusr/include #TCL_LIB = -L/lusr/lib TCL_INCLUDE = /cygdrive/d/work/tcl/include TCL_LIB = /cygdrive/d/work/tcl/lib # Additional link libraries LIBS = -ldl -lm .SUFFIXES: .c .c.o: $(CC) $(CCSHARED) $(CFLAGS) $(INCLUDE) -c $< all: $(TARGET) # Convert the SWIG wrapper file into an object file $(WRAPOBJ) : $(WRAPFILE) $(SWIGCC) -c $(CCSHARED) $(CFLAGS) $(WRAPFILE) $(INCLUDE) $(TCL_INCLUDE) # Run SWIG $(WRAPFILE) : $(INTERFACE) $(SWIG) $(SWIGOPT) -o $(WRAPFILE) $(INTERFACE) # Build the final extension module $(TARGET): $(WRAPOBJ) $(ALLOBJS) $(BUILD) $(WRAPOBJ) $(ALLOBJS) $(LIBS) -o $(TARGET)
Forums:
댓글 달기