2010-12-05 6 views
0

저는 c/C++를 배우고 있으며 QT Creator로 작업하고 싶습니다. 나는 컴파일을 거절하는 base64 클래스를 사용하고 있는데 도움이된다면 크게 도움이 될 것입니다. 나는 한 번에 하나 개의 링크를 추가 할 수 있기 때문에QtCreator에서 C 파일을 컴파일하는 중 문제가 발생했습니다.

내가 오류 라인

/QTDev/PolicyFrameworkDesktop-build-desktop/../PolicyFrameworkDesktop/libhaggle/base64.h:59: error: expected ';', ',' or ')' before 'in' 

/QTDev/PolicyFrameworkDesktop-build-desktop/../PolicyFrameworkDesktop/libhaggle/base64.h:66: error: expected ';', ',' or ')' before 'in' 

/QTDev/PolicyFrameworkDesktop-build-desktop/../PolicyFrameworkDesktop/libhaggle/base64.c:68: error: expected ';', ',' or ')' before 'in' 

/QTDev/PolicyFrameworkDesktop-build-desktop/../PolicyFrameworkDesktop/libhaggle/base64.c:: error: At top level: 

/QTDev/PolicyFrameworkDesktop-build-desktop/../PolicyFrameworkDesktop/libhaggle/base64.c:320: error: expected ';', ',' or ')' before '*' token 

/QTDev/PolicyFrameworkDesktop-build-desktop/../PolicyFrameworkDesktop/libhaggle/base64.c:373: error: expected ';', ',' or ')' before 'in' 
/QTDev/PolicyFrameworkDesktop-build-desktop/../PolicyFrameworkDesktop/libhaggle/base64.c:456: error: expected ';', ',' or ')' before 'in' 

되면, base64.h 파일이 첨부되어 있습니다. 나는 하루 종일 문제를 파악하려고 노력해 왔습니다.

http://rapidshare.com/files/435084122/base64.h

감사

답변

0

헤더는 컴파일러가 분명히 처리하지 않는 C99 특정 키워드 restrict 사용

#ifdef __cplusplus 
// In case we do not have gnu extensions when including from C++ 
#define restrict 
#endif 
:

extern void base64_encode (const char *restrict in, size_t inlen, 
          char *restrict out, size_t outlen); 

은 그러나 파일도 포함되어 있습니다를

즉, restrict 키워드를 처리하지 않는 C++ 컴파일러는이 코드에서 벗어나서는 안됩니다. 실제로 C++를 컴파일하고 있는지 확인해야합니다 (파일 확장자는 중요 할 수도 있습니다 :이 파일을 .cpp 또는 .c에서 포함하고 있습니까?).

+0

안녕하세요, 빠른 답장을 보내 주셔서 감사합니다. 파일이 C 파일에 포함되어 있습니다. 아래의 링크는 생성 된 makefile의 c 파일과 도움이되는 pro 파일입니다. 고마워요 http://rapidshare.com/files/435084121/base64.c http://rapidshare.com/files/435084571/Makefile http://rapidshare.com/files/435084682/PolicyFrameworkDesktop.pro – Bernard

+0

본 적이 있습니다. 이것은 잠시 동안 성공하지 못했기 때문에 라이브러리로 구축하고이를 해결 방법으로 pro 파일에 추가했습니다. 지금은 작동하지만 아무도 제대로 할 수있는 방법을 알고 있다면 감사합니다. example pro 파일은 http://rapidshare.com/files/435212949/PolicyFrameworkSpy.pro 아래에 있습니다. – Bernard

관련 문제