New to working with C++ on Linux and g++.
I am trying to compile a program with library dependencies on using:
g++ -I/home/akhil/cp_libs/OnixS.EurexEtiHandlerCpp-CentOS7-gcc485-c++11-x64-9.5.0/include -I/home/akhil/cp_libs/OnixS.EurexEtiHandlerCpp-CentOS7-gcc485-c++11-x64-9.5.0/include/Trading -o o_c onixs_eurex_session.cpp
It returns
/tmp/ccgvaAQZ.o: In function `main':
onixs_eurex_session.cpp:(.text+0x55): undefined reference to `OnixS::Eurex::Trading::Handler::version()'
/tmp/ccgvaAQZ.o: In function `Application::Application()':
onixs_eurex_session.cpp:(.text._ZN11ApplicationC2Ev[_ZN11ApplicationC5Ev]+0xbe): undefined reference to `OnixS::Eurex::Trading::Handler::Handler(OnixS::Eurex::Trading::HandlerSettings const&)'
onixs_eurex_session.cpp:(.text._ZN11ApplicationC2Ev[_ZN11ApplicationC5Ev]+0xe0): undefined reference to `OnixS::Eurex::Trading::Handler::licenseExpirationDate() const'
onixs_eurex_session.cpp:(.text._ZN11ApplicationC2Ev[_ZN11ApplicationC5Ev]+0x152): undefined reference to `OnixS::Eurex::Trading::Handler::~Handler()'
/tmp/ccgvaAQZ.o: In function `Application::~Application()':
onixs_eurex_session.cpp:(.text._ZN11ApplicationD2Ev[_ZN11ApplicationD5Ev]+0x48): undefined reference to `OnixS::Eurex::Trading::Handler::state() const'
onixs_eurex_session.cpp:(.text._ZN11ApplicationD2Ev[_ZN11ApplicationD5Ev]+0x61): undefined reference to `OnixS::Eurex::Trading::Handler::disconnect()'
onixs_eurex_session.cpp:(.text._ZN11ApplicationD2Ev[_ZN11ApplicationD5Ev]+0x82): undefined reference to `OnixS::Eurex::Trading::Handler::~Handler()'
onixs_eurex_session.cpp:(.text._ZN11ApplicationD2Ev[_ZN11ApplicationD5Ev]+0xf7): undefined reference to `OnixS::Eurex::Trading::Handler::~Handler()'
/tmp/ccgvaAQZ.o: In function `Application::connect(char const*, unsigned short, unsigned int, char const*)':
onixs_eurex_session.cpp:(.text._ZN11Application7connectEPKctjS1_[_ZN11Application7connectEPKctjS1_]+0x32): undefined reference to `OnixS::Eurex::Trading::Logon::Logon()'
onixs_eurex_session.cpp:(.text._ZN11Application7connectEPKctjS1_[_ZN11Application7connectEPKctjS1_]+0x84): undefined reference to `OnixS::Eurex::Trading::Handler::version()'
onixs_eurex_session.cpp:(.text._ZN11Application7connectEPKctjS1_[_ZN11Application7connectEPKctjS1_]+0xc6): undefined reference to `OnixS::Eurex::Trading::Handler::version()'
onixs_eurex_session.cpp:(.text._ZN11Application7connectEPKctjS1_[_ZN11Application7connectEPKctjS1_]+0x101): undefined reference to `OnixS::Eurex::Trading::Logon::toString() const'
onixs_eurex_session.cpp:(.text._ZN11Application7connectEPKctjS1_[_ZN11Application7connectEPKctjS1_]+0x15d): undefined reference to `OnixS::Eurex::Trading::Handler::connect(char const*, unsigned short, OnixS::Eurex::Trading::Logon const&, char const*)'
/tmp/ccgvaAQZ.o: In function `Application::login(unsigned int, char const*)':
onixs_eurex_session.cpp:(.text._ZN11Application5loginEjPKc[_ZN11Application5loginEjPKc]+0x1c): undefined reference to `OnixS::Eurex::Trading::UserLoginRequest::UserLoginRequest()'
onixs_eurex_session.cpp:(.text._ZN11Application5loginEjPKc[_ZN11Application5loginEjPKc]+0x50): undefined reference to `OnixS::Eurex::Trading::Handler::send(OnixS::Eurex::Trading::Message&)'
/tmp/ccgvaAQZ.o: In function `Application::logout(unsigned int)':
onixs_eurex_session.cpp:(.text._ZN11Application6logoutEj[_ZN11Application6logoutEj]+0x18): undefined reference to `OnixS::Eurex::Trading::UserLogoutRequest::UserLogoutRequest()'
onixs_eurex_session.cpp:(.text._ZN11Application6logoutEj[_ZN11Application6logoutEj]+0x35): undefined reference to `OnixS::Eurex::Trading::Handler::send(OnixS::Eurex::Trading::Message&)'
/tmp/ccgvaAQZ.o: In function `Application::disconnect()':
onixs_eurex_session.cpp:(.text._ZN11Application10disconnectEv[_ZN11Application10disconnectEv]+0x18): undefined reference to `OnixS::Eurex::Trading::Handler::disconnect()'
/tmp/ccgvaAQZ.o: In function `Application::createHandlerSettings()':
onixs_eurex_session.cpp:(.text._ZN11Application21createHandlerSettingsEv[_ZN11Application21createHandlerSettingsEv]+0x15): undefined reference to `OnixS::Eurex::Trading::HandlerSettings::HandlerSettings()'
/tmp/ccgvaAQZ.o: In function `Application::subscribe(Application*)':
onixs_eurex_session.cpp:(.text._ZN11Application9subscribeEPS_[_ZN11Application9subscribeEPS_]+0x23): undefined reference to `OnixS::Eurex::Trading::Handler::registerErrorListener(OnixS::Eurex::Trading::ErrorListener*)'
onixs_eurex_session.cpp:(.text._ZN11Application9subscribeEPS_[_ZN11Application9subscribeEPS_]+0x4c): undefined reference to `OnixS::Eurex::Trading::Handler::registerWarningListener(OnixS::Eurex::Trading::WarningListener*)'
onixs_eurex_session.cpp:(.text._ZN11Application9subscribeEPS_[_ZN11Application9subscribeEPS_]+0x75): undefined reference to `OnixS::Eurex::Trading::Handler::registerHandlerStateListener(OnixS::Eurex::Trading::HandlerStateListener*)'
onixs_eurex_session.cpp:(.text._ZN11Application9subscribeEPS_[_ZN11Application9subscribeEPS_]+0x9e): undefined reference to `OnixS::Eurex::Trading::Handler::registerAdminListener(OnixS::Eurex::Trading::AdminListener*)'
/tmp/ccgvaAQZ.o: In function `Application::onError(OnixS::Eurex::Trading::ErrorCode::Enum, std::string const&)':
onixs_eurex_session.cpp:(.text._ZN11Application7onErrorEN5OnixS5Eurex7Trading9ErrorCode4EnumERKSs[_ZN11Application7onErrorEN5OnixS5Eurex7Trading9ErrorCode4EnumERKSs]+0x52): undefined reference to `OnixS::Eurex::Trading::enumToString(OnixS::Eurex::Trading::ErrorCode::Enum)'
onixs_eurex_session.cpp:(.text._ZN11Application7onErrorEN5OnixS5Eurex7Trading9ErrorCode4EnumERKSs[_ZN11Application7onErrorEN5OnixS5Eurex7Trading9ErrorCode4EnumERKSs]+0xe6): undefined reference to `OnixS::Eurex::Trading::Handler::log(OnixS::Eurex::Trading::LogLevel::Enum, std::string const&)'
/tmp/ccgvaAQZ.o: In function `Application::onWarning(std::string const&)':
onixs_eurex_session.cpp:(.text._ZN11Application9onWarningERKSs[_ZN11Application9onWarningERKSs]+0xa4): undefined reference to `OnixS::Eurex::Trading::Handler::log(OnixS::Eurex::Trading::LogLevel::Enum, std::string const&)'
/tmp/ccgvaAQZ.o: In function `Application::onStateChanged(OnixS::Eurex::Trading::HandlerState::Enum)':
onixs_eurex_session.cpp:(.text._ZN11Application14onStateChangedEN5OnixS5Eurex7Trading12HandlerState4EnumE[_ZN11Application14onStateChangedEN5OnixS5Eurex7Trading12HandlerState4EnumE]+0x4b): undefined reference to `OnixS::Eurex::Trading::enumToString(OnixS::Eurex::Trading::HandlerState::Enum)'
onixs_eurex_session.cpp:(.text._ZN11Application14onStateChangedEN5OnixS5Eurex7Trading12HandlerState4EnumE[_ZN11Application14onStateChangedEN5OnixS5Eurex7Trading12HandlerState4EnumE]+0xc0): undefined reference to `OnixS::Eurex::Trading::Handler::log(OnixS::Eurex::Trading::LogLevel::Enum, std::string const&)'
/tmp/ccgvaAQZ.o:(.gcc_except_table+0x50): undefined reference to `typeinfo for OnixS::Eurex::Trading::Exception'
/tmp/ccgvaAQZ.o: In function `void Application::dump<OnixS::Eurex::Trading::InquireEnrichmentRuleIdListResponse>(OnixS::Eurex::Trading::InquireEnrichmentRuleIdListResponse const&)':
onixs_eurex_session.cpp:(.text._ZN11Application4dumpIN5OnixS5Eurex7Trading35InquireEnrichmentRuleIdListResponseEEEvRKT_[_ZN11Application4dumpIN5OnixS5Eurex7Trading35InquireEnrichmentRuleIdListResponseEEEvRKT_]+0x62): undefined reference to `OnixS::Eurex::Trading::operator<<(std::ostream&, OnixS::Eurex::Trading::InquireEnrichmentRuleIdListResponse const&)'
onixs_eurex_session.cpp:(.text._ZN11Application4dumpIN5OnixS5Eurex7Trading35InquireEnrichmentRuleIdListResponseEEEvRKT_[_ZN11Application4dumpIN5OnixS5Eurex7Trading35InquireEnrichmentRuleIdListResponseEEEvRKT_]+0x97): undefined reference to `OnixS::Eurex::Trading::Handler::log(OnixS::Eurex::Trading::LogLevel::Enum, std::string const&)'
/tmp/ccgvaAQZ.o: In function `void Application::dump<OnixS::Eurex::Trading::InquireSessionListResponse>(OnixS::Eurex::Trading::InquireSessionListResponse const&)':
onixs_eurex_session.cpp:(.text._ZN11Application4dumpIN5OnixS5Eurex7Trading26InquireSessionListResponseEEEvRKT_[_ZN11Application4dumpIN5OnixS5Eurex7Trading26InquireSessionListResponseEEEvRKT_]+0x62): undefined reference to `OnixS::Eurex::Trading::operator<<(std::ostream&, OnixS::Eurex::Trading::InquireSessionListResponse const&)'
onixs_eurex_session.cpp:(.text._ZN11Application4dumpIN5OnixS5Eurex7Trading26InquireSessionListResponseEEEvRKT_[_ZN11Application4dumpIN5OnixS5Eurex7Trading26InquireSessionListResponseEEEvRKT_]+0x97): undefined reference to `OnixS::Eurex::Trading::Handler::log(OnixS::Eurex::Trading::LogLevel::Enum, std::string const&)'
/tmp/ccgvaAQZ.o: In function `void Application::dump<OnixS::Eurex::Trading::InquireUserResponse>(OnixS::Eurex::Trading::InquireUserResponse const&)':
onixs_eurex_session.cpp:(.text._ZN11Application4dumpIN5OnixS5Eurex7Trading19InquireUserResponseEEEvRKT_[_ZN11Application4dumpIN5OnixS5Eurex7Trading19InquireUserResponseEEEvRKT_]+0x62): undefined reference to `OnixS::Eurex::Trading::operator<<(std::ostream&, OnixS::Eurex::Trading::InquireUserResponse const&)'
onixs_eurex_session.cpp:(.text._ZN11Application4dumpIN5OnixS5Eurex7Trading19InquireUserResponseEEEvRKT_[_ZN11Application4dumpIN5OnixS5Eurex7Trading19InquireUserResponseEEEvRKT_]+0x97): undefined reference to `OnixS::Eurex::Trading::Handler::log(OnixS::Eurex::Trading::LogLevel::Enum, std::string const&)'
/tmp/ccgvaAQZ.o: In function `void Application::dump<OnixS::Eurex::Trading::Reject>(OnixS::Eurex::Trading::Reject const&)':
onixs_eurex_session.cpp:(.text._ZN11Application4dumpIN5OnixS5Eurex7Trading6RejectEEEvRKT_[_ZN11Application4dumpIN5OnixS5Eurex7Trading6RejectEEEvRKT_]+0x62): undefined reference to `OnixS::Eurex::Trading::operator<<(std::ostream&, OnixS::Eurex::Trading::Reject const&)'
onixs_eurex_session.cpp:(.text._ZN11Application4dumpIN5OnixS5Eurex7Trading6RejectEEEvRKT_[_ZN11Application4dumpIN5OnixS5Eurex7Trading6RejectEEEvRKT_]+0x97): undefined reference to `OnixS::Eurex::Trading::Handler::log(OnixS::Eurex::Trading::LogLevel::Enum, std::string const&)'
/tmp/ccgvaAQZ.o: In function `void Application::dump<OnixS::Eurex::Trading::RetransmitMEMessageResponse>(OnixS::Eurex::Trading::RetransmitMEMessageResponse const&)':
onixs_eurex_session.cpp:(.text._ZN11Application4dumpIN5OnixS5Eurex7Trading27RetransmitMEMessageResponseEEEvRKT_[_ZN11Application4dumpIN5OnixS5Eurex7Trading27RetransmitMEMessageResponseEEEvRKT_]+0x62): undefined reference to `OnixS::Eurex::Trading::operator<<(std::ostream&, OnixS::Eurex::Trading::RetransmitMEMessageResponse const&)'
onixs_eurex_session.cpp:(.text._ZN11Application4dumpIN5OnixS5Eurex7Trading27RetransmitMEMessageResponseEEEvRKT_[_ZN11Application4dumpIN5OnixS5Eurex7Trading27RetransmitMEMessageResponseEEEvRKT_]+0x97): undefined reference to `OnixS::Eurex::Trading::Handler::log(OnixS::Eurex::Trading::LogLevel::Enum, std::string const&)'
/tmp/ccgvaAQZ.o: In function `void Application::dump<OnixS::Eurex::Trading::RetransmitResponse>(OnixS::Eurex::Trading::RetransmitResponse const&)':
onixs_eurex_session.cpp:(.text._ZN11Application4dumpIN5OnixS5Eurex7Trading18RetransmitResponseEEEvRKT_[_ZN11Application4dumpIN5OnixS5Eurex7Trading18RetransmitResponseEEEvRKT_]+0x62): undefined reference to `OnixS::Eurex::Trading::operator<<(std::ostream&, OnixS::Eurex::Trading::RetransmitResponse const&)'
onixs_eurex_session.cpp:(.text._ZN11Application4dumpIN5OnixS5Eurex7Trading18RetransmitResponseEEEvRKT_[_ZN11Application4dumpIN5OnixS5Eurex7Trading18RetransmitResponseEEEvRKT_]+0x97): undefined reference to `OnixS::Eurex::Trading::Handler::log(OnixS::Eurex::Trading::LogLevel::Enum, std::string const&)'
/tmp/ccgvaAQZ.o: In function `void Application::dump<OnixS::Eurex::Trading::SubscribeResponse>(OnixS::Eurex::Trading::SubscribeResponse const&)':
onixs_eurex_session.cpp:(.text._ZN11Application4dumpIN5OnixS5Eurex7Trading17SubscribeResponseEEEvRKT_[_ZN11Application4dumpIN5OnixS5Eurex7Trading17SubscribeResponseEEEvRKT_]+0x62): undefined reference to `OnixS::Eurex::Trading::operator<<(std::ostream&, OnixS::Eurex::Trading::SubscribeResponse const&)'
onixs_eurex_session.cpp:(.text._ZN11Application4dumpIN5OnixS5Eurex7Trading17SubscribeResponseEEEvRKT_[_ZN11Application4dumpIN5OnixS5Eurex7Trading17SubscribeResponseEEEvRKT_]+0x97): undefined reference to `OnixS::Eurex::Trading::Handler::log(OnixS::Eurex::Trading::LogLevel::Enum, std::string const&)'
/tmp/ccgvaAQZ.o: In function `void Application::dump<OnixS::Eurex::Trading::UnsubscribeResponse>(OnixS::Eurex::Trading::UnsubscribeResponse const&)':
onixs_eurex_session.cpp:(.text._ZN11Application4dumpIN5OnixS5Eurex7Trading19UnsubscribeResponseEEEvRKT_[_ZN11Application4dumpIN5OnixS5Eurex7Trading19UnsubscribeResponseEEEvRKT_]+0x62): undefined reference to `OnixS::Eurex::Trading::operator<<(std::ostream&, OnixS::Eurex::Trading::UnsubscribeResponse const&)'
onixs_eurex_session.cpp:(.text._ZN11Application4dumpIN5OnixS5Eurex7Trading19UnsubscribeResponseEEEvRKT_[_ZN11Application4dumpIN5OnixS5Eurex7Trading19UnsubscribeResponseEEEvRKT_]+0x97): undefined reference to `OnixS::Eurex::Trading::Handler::log(OnixS::Eurex::Trading::LogLevel::Enum, std::string const&)'
/tmp/ccgvaAQZ.o: In function `void Application::dump<OnixS::Eurex::Trading::UserLoginResponse>(OnixS::Eurex::Trading::UserLoginResponse const&)':
onixs_eurex_session.cpp:(.text._ZN11Application4dumpIN5OnixS5Eurex7Trading17UserLoginResponseEEEvRKT_[_ZN11Application4dumpIN5OnixS5Eurex7Trading17UserLoginResponseEEEvRKT_]+0x62): undefined reference to `OnixS::Eurex::Trading::operator<<(std::ostream&, OnixS::Eurex::Trading::UserLoginResponse const&)'
onixs_eurex_session.cpp:(.text._ZN11Application4dumpIN5OnixS5Eurex7Trading17UserLoginResponseEEEvRKT_[_ZN11Application4dumpIN5OnixS5Eurex7Trading17UserLoginResponseEEEvRKT_]+0x97): undefined reference to `OnixS::Eurex::Trading::Handler::log(OnixS::Eurex::Trading::LogLevel::Enum, std::string const&)'
/tmp/ccgvaAQZ.o: In function `void Application::dump<OnixS::Eurex::Trading::UserLogoutResponse>(OnixS::Eurex::Trading::UserLogoutResponse const&)':
onixs_eurex_session.cpp:(.text._ZN11Application4dumpIN5OnixS5Eurex7Trading18UserLogoutResponseEEEvRKT_[_ZN11Application4dumpIN5OnixS5Eurex7Trading18UserLogoutResponseEEEvRKT_]+0x62): undefined reference to `OnixS::Eurex::Trading::operator<<(std::ostream&, OnixS::Eurex::Trading::UserLogoutResponse const&)'
onixs_eurex_session.cpp:(.text._ZN11Application4dumpIN5OnixS5Eurex7Trading18UserLogoutResponseEEEvRKT_[_ZN11Application4dumpIN5OnixS5Eurex7Trading18UserLogoutResponseEEEvRKT_]+0x97): undefined reference to `OnixS::Eurex::Trading::Handler::log(OnixS::Eurex::Trading::LogLevel::Enum, std::string const&)'
/tmp/ccgvaAQZ.o: In function `OnixS::Eurex::Trading::UserLoginRequest::~UserLoginRequest()':
onixs_eurex_session.cpp:(.text._ZN5OnixS5Eurex7Trading16UserLoginRequestD2Ev[_ZN5OnixS5Eurex7Trading16UserLoginRequestD5Ev]+0x14): undefined reference to `vtable for OnixS::Eurex::Trading::UserLoginRequest'
/tmp/ccgvaAQZ.o: In function `OnixS::Eurex::Trading::UserLogoutRequest::~UserLogoutRequest()':
onixs_eurex_session.cpp:(.text._ZN5OnixS5Eurex7Trading17UserLogoutRequestD2Ev[_ZN5OnixS5Eurex7Trading17UserLogoutRequestD5Ev]+0x13): undefined reference to `vtable for OnixS::Eurex::Trading::UserLogoutRequest'
collect2: error: ld returned 1 exit status
my include dependencies are:
#include <iostream>
#include <sstream>
#include <fstream>
#include <algorithm>
#include <stdexcept>
#include <stdio.h>
#include <stdlib.h>
#include <limits.h>
#include <math.h>
#include <string>
#include <vector>
#include <OnixS/Eurex/Trading.h>
what am i doing wrong here? i know that Trading.h includes multiple other .h files which i thought i was referencing with
#include "OnixS/Eurex/Trading/Export.h"
#include "OnixS/Eurex/Trading/AuditTrail.h"
#include "OnixS/Eurex/Trading/Exception.h"
#include "OnixS/Eurex/Trading/Defines.h"
#include "OnixS/Eurex/Trading/Enumerations.h"
#include "OnixS/Eurex/Trading/Time.h"
#include "OnixS/Eurex/Trading/Message.h"
#include "OnixS/Eurex/Trading/MessageInfo.h"
#include "OnixS/Eurex/Trading/Logon.h"
...
-I/home/akhil/cp_libs/OnixS.EurexEtiHandlerCpp-CentOS7-gcc485-c++11-x64-9.5.0/include/Trading