[완료]make file 작성 중 오류
글쓴이: bluesolip / 작성시간: 월, 2014/06/09 - 11:25오전
안녕하세요. 고수님들의 도움이 필요합니다.
첨부파일을 Linux상에서 컴파일 하려고 해서 makefile을 아래와 같이 작성하였습니다.
link시 파일을 찾을 수 없다고 오류가 발생하는데 무엇이 문제인지 모르겠습니다.
도움 부탁드립니다.
CC = g++
CFLAGS = -Wall -O2 #-DLINUX
ONLYCOMPILE = $(CC) $(CFLAGS) -c -g -Iopenssl-0.9.8l/inc32/
OBJFILES := $(patsubst %.cpp,%.o,$(wildcard *.cpp))
PROGNAME = CSmtp
LIB = -Lopenssl-0.9.8l/out32/ -llibeay32.lib -lssleay32.lib
all: $(PROGNAME)
$(PROGNAME) : $(OBJFILES)
$(CC) -o $(PROGNAME) $(OBJFILES) $(LIB)
%.o: %.cpp
${ONLYCOMPILE} -o $@ $<
clean:
rm *.o
File attachments:
첨부 | 파일 크기 |
---|---|
CSmtp_v2_3_ssl.zip | 1.74 MB |
Forums:
LIB를 아래와 같이 고치세요.. LIB =
LIB를 아래와 같이 고치세요..
답변 주셔서 감사합니다.. 아래와 같이 오류가
답변 주셔서 감사합니다..
아래와 같이 오류가 발생하는데 이건 어떻게 해야 하나요??
/usr/bin/ld: cannot find -lcrypto
/usr/bin/ld: cannot find -lssl
openssl 관련 라이브러리가 시스템에 설치되지
openssl 관련 라이브러리가 시스템에 설치되지 않은 것 같네요.
해당 라이브러리를 설치하셔야할 듯..
루트 권한이 있는지/사용하시는 OS의 배포본이 무엇인지에 따라서
답변이 달라질 것 같습니다.
--
또는 라이브러리가 설치되어있는데, 경로가 바르게 설정되어있지 않을
가능성도 있습니다만, 이 가능성은 높아보이지 않습니다.
virtual box에서 ubuntu-12.04.4를
virtual box에서 ubuntu-12.04.4를 사용하고 있습니다.
해당라이브러리는 어떻게 설치 해야 하나요?
제가 리눅스는 거의 만져보지 않아서 모르는 것이 많습니다.
답변 주셔서 감사 드립니다.
sudo apt-get install
sudo apt-get install libssl1.0.0 openssl 로 설치하였습니다.
openssl version 으로 버전을 확인해보면
OpenSSL 1.0.1 14 Mar 2012 로 보입니다.
이렇게 설치하고 다시 컴파일 해봐도 동일하게 찾을 수 없다고 나오네요.
혹시 openssl위치도 옵션에 추가 해야 하나요??
-lssl 이라는 옵션을 주는 경우 링커(gcc)는
-lssl 이라는 옵션을 주는 경우
링커(gcc)는 라이브러리 경로에서 libssl.a 라는 파일을 찾게 됩니다.
이제 http://packages.ubuntu.com/ 에서 해당 파일을 제공하는 라이브러리를 찾아보면,
libssl-dev 라는 패키지에 들어있다고 나옵니다. 이걸 설치하시면 되겠습니다.
기본 경로 /usr/lib의 경우 gcc가 기본으로 라이브러리를 찾는 패스이고,
패키지로 설치하는 라이브러리의 경우 대부분 이 경로에 설치가 되므로 별도 옵션을 줄 필요없습니다.
감사합니다. 컴파일은 해결되었습니다. 덕분에 많이
감사합니다.
컴파일은 해결되었습니다.
덕분에 많이 알아갑니다.
행복한 하루 보내세요.
댓글 달기