2016-11-30 3 views
-1

정맥 4.4에 BSM을 구현하려고합니다. 이 목적을 달성하기 위해 BSM을 채우기 위해 WaveShortMessage.msg에 C 파일 (.c 및 .h) 인 libasn을 가져 오려고합니다. 다음과 같이 .msg 파일 (정맥)에 c 파일 포함

나는 가져올 시도 :

  1. #include "veins/asn/BasicSafetyMessage.h"

  2. #include <veins/asn/BasicSafetyMessage.h>

3.

extern "C" { 
    #include "veins/asn/BasicSafetyMessage.h" 
}; 

4

#ifdef __cplusplus 
    extern "C" { 
    #endif 
    #include "veins/asn/BasicSafetyMessage.h" 
    #ifdef __cplusplus 
    } 
    #endif 

그러나 작동하지 않습니다. 항상 오류를 반환합니다.

올바른 방법을 제안 해주세요. 고마워요

+2

_It는 항상 오류 _ 반환 알고 좋은, 그러나 어떤 오류가? –

+0

경우 1,2 및 4 "오류 : 구문 오류, 예기치 않은 BIN_XOR, $ end 예상"; 3 "오류 : 구문 오류, 예기치 않은 NAME, $ end 예상". – FMA

+0

케이스 2는 #include FMA

답변

2

메시지의 정의에있는 OMNeT++의 C 또는 C++ 코드는 OMNeT++ Simulation Manual, chapter 6.5에 자세히 설명되어 있습니다.
당신은 BasicSafetyMessage.h에서 C 코드를 cplusplus 키워드, 예를 사용해야합니다

cplusplus {{ 
extern "C" { 
#include "veins/asn/BasicSafetyMessage.h" 
}; 
}} 
+0

그것은 C 코드가 아닌 C++입니다 – FMA

+0

나는 내 대답을 편집하고'extern "C"'를 추가했습니다. 다른 방법은 파일'BasicSafetyMessage.h'에'extern "C"'를 추가하는 것입니다. –

+0

작동하는 것 같습니다! 고마워요 – FMA