Hi everyone,
I am write code for rrc protocol
When I compile code I get an error,
I would love if anyone knows how to solve this problem.
The code I wrote:
#include “protocol/NR_MIB.h”
#include “lib/message_type.hpp”
#include “protocol/asn_application.h”
#include “protocol/asn_internal.h”
#include “asn1.hpp”
#include
#include
#include
#include
#include “protocol/per_encoder.h”
#include “encode.hpp”
using namespace std;
int main() {
auto *pdu = asn::New<RrcBcchBchMes>();
pdu -> message.present = NR_BCCH_BCH_MessageType_PR_mib;
pdu -> message.choice.mib = asn::New<NR_MIB>();
bool barred = false;
bool intraFreqReselectAllowed = false;
auto &mib = *pdu -> message.choice.mib;
mib.ssb_SubcarrierOffset = 0;
mib.subCarrierSpacingCommon = NR_MIB__subCarrierSpacingCommon_scs15or60;
mib.dmrs_TypeA_Position = NR_MIB__dmrs_TypeA_Position_pos2;
mib.cellBarred = barred ? NR_MIB__cellBarred_barred
: NR_MIB__cellBarred_notBarred ;
mib.intraFreqReselection = intraFreqReselectAllowed ?
NR_MIB__intraFreqReselection_allowed
: NR_MIB__intraFreqReselection_notAllowed;
mib.pdcch_ConfigSIB1.controlResourceSetZero = 1;
mib.pdcch_ConfigSIB1.searchSpaceZero = 1;
auto sfn = mib.systemFrameNumber;
auto spa = mib.spare;
asn::SetForBitString<6>(15,sfn);
asn::SetForBitString<1>(1, spa);
uint8_t * pdu_tmp = (uint8_t *)pdu;
for (int i = 0; i < 150; i++)
{
cout << i << ":: " << bitset<8>((*(pdu_tmp+i) )) << endl;
}
asn_enc_rval_t enc_ravl;
uint8_t *M;
enc_ravl = uper_encode_to_buffer(&asn_DEF_NR_BCCH_BCH_Message, NULL,
(void *) pdu,
M,
24);
}
Error:
g++ brodcast0.1.cpp -o br -I protocol/
/tmp/ccd4aK87.o: In function main': brodcast0.1.cpp:(.text+0x343): undefined reference to
uper_encode_to_buffer’
collect2: error: ld returned 1 exit status
thank you!