mingw에서 사용하는 라이브러리의 빌드에 관한 질문입니다.

terachul의 이미지

현재 제가 하려는 작업은 다음과 같습니다.

1. ffmpeg을 cygwin을 이용하여 빌드 -> 완료
2. ffmpeg에서 참조하는 libx264-xxx.dll 라이브러리를 임의로 작성한 라이브러리로 연결

ffmpeg에서는 /usr/local/bin 내에서 libx264-xxx.dll을 참조하고 /usr/local/lib/libx264.a와 libx264.dll.a가 존재합니다.

아무튼 환경은 이렇게 구성되어 있는데...최종적으로 ffmpeg에서는 제가 만든 libx264 라이브러리를 읽어오게 하는거죠.

문제는 visual studio에서만 그 라이브러리의 작성이 가능하다는 것입니다. 그게 그 환경에서만 가능하도록 되어있는 라이브러리를 사용중이거든요.

libx264 스냅샷중 2008년 12월 14일자를 이용하여 작성하고 있는데...visual studio에서는 잘 빌드가 됩니다. libx264.lib이 생성이 되는데

이 lib을 cygwin으로 가져와서 심볼릭링크로 가리키고 ffmpeg를 실행하면 오류가 납니다. 당연하겠죠 mingw는 하나도 적용이 안되어 있으니...

그리하여 결론은 다음과 같습니다.

visual studio에서 작성한 라이브러리를 cygwin(mingw)에서 사용하는 방법! 입니다.

어느 사이트에선 msys의 reimp를 이용하여 'reimp abcd.lib'을 실행하면 .a가 나오고 이를 바로 사용할 수 있다고 하는데 전 .obj 파일만 주욱 나오고 .a는 생성이 안되더라구요.

여러모로 일주일째 삽질중입니다;; 조언을 부탁드립니다 (__)

hys545의 이미지

dll같이 공유라이브러리라면 gcc나 vc따질것없이 사용가능하나
lib같이 정적라이브러리는 컴파일러에 종속적입니다.
그래서 gcc에서 사용가능한 건 *.a형식뿐입니다
굳이 하려면 libx264.lib대신 libx264.dll같이 공유라이브러리 만들어서 이걸 gcc에서 링크시키면 가능할수도, 그런데 dll 파일을 직접 링크시키는건 에러가 날수도 있음
즐린

즐린

terachul의 이미지

답변 감사드립니다... 다른 방법을 고민해봐야겠네요 ^^;

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.