C 코드 (openwrt 용 easycwmp 패키지)에서 C++ 라이브러리 gloox를 사용하고 싶습니다. 여기C 프로그램에서 C++ 메소드 사용
cpp가 파일 gloox.cpp됩니다 :
#include "gloox.h"
namespace gloox
{
const std::string XMPP_STREAM_VERSION_MAJOR = "1";
const std::string XMPP_STREAM_VERSION_MINOR = "0";
const std::string GLOOX_VERSION = "1.0.11";
const std::string GLOOX_CAPS_NODE = "http://camaya.net/gloox";
}
extern "C" const char* gloox_version()
{
return gloox::GLOOX_VERSION.c_str();
}
헤더 파일 gloox.h :
#ifndef GLOOX_H__
#define GLOOX_H__
#include "macros.h"
extern "C" //--> error: expected identifier or '(' before string constant
{
GLOOX_API const char* gloox_version();
}
#endif // GLOOX_H__
컴파일
나는 패키지와 gloox toolschain openwrt 컴파일 gloox 패키지는 gloox.h를 easycwmp 패키지의 C 코드에 포함시킬 때 OK입니다.이 오류가 발생합니다.
staging_dir/target-i386_uClibc-0.9.33.2/usr/include/gloox.h : 12 : 8 : 오류 : 예상 식별자 또는 '('앞에 문자열 상수 !!
make package/libgloox/compile
을하고 난 cmd를 함께 패키지를 easycwmp 컴파일 :
나는 명령을 libgloox 컴파일 어떤 도움이
'macros.h '를 보여줄 수 있습니까? – Sean
그것을보고, 그것을 사용하려는 경우 전체 래퍼 라이브러리를 C 래퍼로 포장해야합니다. 나는 그것을 감싸는 데 필요한 모든 일을하는 것보다 "C와 같은"C++로 작성하는 것이 더 좋은 생각이라고 생각한다. – molbdnilo