2013-12-20 2 views
3

간단한 전자 메일 클라이언트를 만들려고하고 있는데 QT 인터페이스에서 인쇄하는 MIME 메시지를 구문 분석해야합니다. 나는 gmime이 훌륭한 일을 할 것이라고 읽었지 만 g ++는 라이브러리의 존재를 인식하지 못하는 것 같습니다. 지금까지 사용해 보았습니다.리눅스 (우분투)에 gmime 라이브러리를 올바르게 설치하는 방법은 무엇입니까?

sudo apt-get install libgmime-2.6-dev 
sudo apt-get install libgmime2.6-cil 
sudo apt-get install libglib2.0-dev 
sudo apt-get install libgmime2.6-cil-dev 

첫 번째 일은 정말했습니다. 그것은 잘 작동하는 것 같았지 만, 그럼

(gmime.h 찾을 수 없음) 작동하지 않습니다./usr/include를 검사했는데 헤더가 모두 있지만 파일 시스템에 라이브러리의 다른 표시는 없습니다.

는 그 후 나는이 지침 http://www.linuxfromscratch.org/blfs/view/svn/general/gmime.html을 따라,하지만 난 도망

./configure --prefix=/usr --disable-static && 
make 

나는 그때

#include "/home/user/Downloads/gmime-2.6.19/gmime/gmime.h" 

라이브러리의 로컬 포함을 시도

test-pkcs7.c:36:23: fatal error: gpg-error.h: No such file or directory 
compilation terminated. 

있어하지만 난 있어요 이 오류.

이전에이 문제가 발생 했습니까? 당신이 당신의 프로그램을 컴파일 할 때

답변

2

이 시도 :

g++ -o myprogram myprogram.cpp `pkg-config --cflags --libs gmime-2.6` 

문제는 당신이 경로 (사용 (--cflags) 어떤 라이브러리 경로를 사용하는 것이 포함 컴파일러에게 필요가있다 - libs).

g++ -o file.o -c file.cpp `pkg-config --cflags gmime-2.6` 

을 그리고 마지막 단계 pkg-config --libs gmime-2.6를 사용 : 개별 소스를 컴파일 할 때

, 당신은 할 수 있습니다.

root:~$ ./configure 
... 
root:~$ gcc-shared res/res_http_post.c -o res/res_http_post.so -fPIC `pkg-config -cflags –libs gmime-2.6` 
root:~$ cp res/res_http_post.so /usr/lib/asterisk/modules/ 
+0

이 작동하는 것 같다 내가 나중에 사용하기 위해 아이디어를 저장합니다, 감사 - –

+0

어떤면에서 더 강력합니까? 위의 내 대답은 GMime 설명서 : https://developer.gnome.org/gmime/stable/gmime-compiling.html에 있습니다. FWIW, 저는 GMime 저자입니다. – jstedfast

1

문제가 그렇게 모든 것을 "libgmime"에서 가능하며

sudo apt-get install libgmime-2.6-dev 
sudo apt-get install libgmime2.6-cil 
sudo apt-get install libglib2.0-dev 
sudo apt-get install libgmime2.6-cil-dev 

가 설치되어 해결했다. 그러나 그 사이에 대신 vmime을 사용하기로 결정했습니다. 그것은 gmime보다 훨씬 강력하며 매우 철저한 문서를 가지고 있습니다.

관련 문제