http://liboauth.sourceforge.net/index.html
해당 페이지에서 프로젝트 다운
win32, static library 프로젝트 생성
src 폴더에 있는 file 추가
libcurl.lib;libeay32.lib;ssleay32.lib 라이브러리 종속성 추가
libcurl, openssl include파일 추가 폴더 설정
PreProcessor에 해당 내용 추가
CURL_STATICLIB
HAVE_CONFIG_H
빌드~~!!!
여러가지 실패 경험
빌드했더니 .lib 파일은 생성됐으나 이상하게 테스트 해보면
oauth api가 계속 실패하는 증상이 나왔다.
혹은 oauth 링크에러 __imp__curl XXXX가 발생하는 경우도 있었다.
HAVE_CONFIG_H <-- 이녀석이 최고 함정이었던듯
mingw에서도 빌드를 해보려고 노력을 많이 해서
.a, .la 파일을 뽑아 냈으나 이녀석은 여전히 사용하면
oauth 링크에러 __imp__curl XXXX가 발생!
제대로된 정적 링크가 아니어서 발생하는 문제인것 같은데 해결책은 찾지 못했다.
(a 파일의 경우 c인경우 vc에서 그냥 써도 되고 c++인 경우 쓸 수 없다고 한다.)
빌드 명령어
env PKG_CONFIG=/bin/true ./configure \
CFLAGS="-I/K/data2/down/openssl_curl_oauth/curl-7.31.0/include \
-I/K/data2/down/openssl_curl_oauth/openssl-1.0.1e/inc32 -DHAVE_CONFIG_H -DCURL_STATICLIB" \
LDFLAGS="-L/K/data2/down/openssl_curl_oauth/curl-7.31.0/vs/vc6/lib/mt_lib-release \
-L/K/data2/down/openssl_curl_oauth/openssl-1.0.1e/build.static/lib" \
CURL_LIBS=libcurl.lib \
HASH_LIBS="libeay32.lib \
ssleay32.lib" \
--prefix=/K/data2/down/liboauth-1.0.1.tar/liboauth-1.0.1/build
oauth test
oauth tests direct의 oauthtest.c file을 이용
PreProcessor에 해당 내용 정의
CURL_STATICLIB
HAVE_OPENSSL_HMAC_H
HAVE_CURL
oauth 라이브러리가 제대로 빌드되지 않은 경우 해당 테스트 실행파일을 실행하면
실패를 한다.
빌드 순서는
build order
openssl
build.static.bat -> build.static
curl
vs->vc6 -> MT LIB Release
liboauth
vs -> Release
tests -> vs -> Release
Debug -> X
MT LIB Release, Release -> O
이며
귀찮아서 디버그 버전은 세팅을 안했다.
'프로그래밍 팁' 카테고리의 다른 글
사용중인 DLL 주소 출력 (0) | 2014.09.05 |
---|---|
IME Test (0) | 2013.12.13 |
openssl (0) | 2013.07.25 |
curl (0) | 2013.07.25 |
응용 프로그램의 side-by-side 구성이 잘못되어 응용 프로그램을 시작하지 못했습니다. (0) | 2013.07.15 |