프로그래밍 팁

liboauth

바보 악마 2013. 7. 29. 15:06

openssl_curl_oauth.7z

 


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

이며

귀찮아서 디버그 버전은 세팅을 안했다.

openssl_curl_oauth.7z
5.18MB

'프로그래밍 팁' 카테고리의 다른 글

사용중인 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