2016-10-04 8 views
1

나는 꿀꺽 꿀꺽을 배우고 나는 내가 워드 프로세서를 & 사례를 찾고 후 알아낼 수 없었던 일부 C++ 가능한 상황을 이해하려고 노력 중이 야, 여기 내 콘텐츠입니다꿀꺽 꿀꺽 일반적인 질문

#ifndef __USECASE1_H__ 
#define __USECASE1_H__ 

namespace foo_namespace { 
    int usecase1_f1(float b, float c, float *res); 
} 

#endif 

usecase1.cpp

int usecase1_f1(float b, float c, float *res) 
{ 
    return 1; 
} 

usecase2.h

usecase2.cpp

#include <time.h> 

double usecase2_v1 = 3.0; 

int usecase2_f1(int n) { 
    if (n <= 1) return 1; 
    else return n * usecase2_f1(n - 1); 
} 

char *usecase2_f2() 
{ 
    time_t ltime; 
    time(&ltime); 
    return ctime(&ltime); 
} 

usecase3.h

#ifndef __USECASE3_h__ 
#define __USECASE3_h__ 

#include <math.h> 

namespace foo_namespace { 
    static inline float usecase3_f1(float x) 
    { 
     return 31.0f; 
    } 
} 

#endif 

example1_working.i

%module example 

%{ 
    int usecase1_f1(float b, float c, float *res); 
    #include "usecase2.h" 
%} 

int usecase1_f1(float b, float c, float *res); 

%include "usecase2.h" 

example2_not_working.i

%module example 

%{ 
    #include "usecase1.h" 
    #include "usecase2.h" 
%} 

%include "usecase1.h" 
%include "usecase2.h" 
,개

질문 example1_working.i가 작동하지만 내가 대신 헤더를 사용하고 싶습니다처럼 명시 적으로 네임 스페이스 기능을 선언

  • , 그것은 꿀꺽 꿀꺽 네임 스페이스를 엉망으로 보이는 어떤 해결 방법은?
  • swig 파일 (usecase3.h)에서 정적 인라인으로 선언 된 네임 스페이스 함수를 어떻게 감쌀 수 있습니까?

답변

0

실행시에 -C++를 전달해야합니다. C++ 지원은 기본적으로 사용되지 않습니다. 포장에 대한 자세한 내용은 여기를 참조하십시오. C++ - http://www.swig.org/Doc1.3/SWIGPlus.html