hi @TStadler
Thank you.
I built the ebus_sdk again as per the steps in the user manual, I wrote a program to convert PvBuffer to Cv::Mat.
Following some references on the web, I wrote a cmake file:
cmake_minimum_required(VERSION 3.15)
project(STREEEAM)
set(CMAKE_CXX_STANDARD 17)
find_package(OpenCV REQUIRED)
add_executable(main main.cpp)
include_directories( ${OpenCV_INCLUDE_DIRS} )
include_directories("/opt/pleora/ebus_sdk/linux-aarch64-arm/include")
link_directories("/opt/pleora/ebus_sdk/linux-aarch64-arm/lib")
target_link_libraries(main "/opt/pleora/ebus_sdk/linux-aarch64-arm/lib")
target_link_libraries(main ${OpenCV_LIBS})
My script is using the samples template for ‘PvStreamSample’ as provided by ebus_SDK, with some modifications.
I am getting the following error during my make
orion-3@orion3-desktop:~/streeeam$ make
Scanning dependencies of target main
[ 50%] Building CXX object CMakeFiles/main.dir/main.cpp.o
[100%] Linking CXX executable main
/usr/bin/ld: CMakeFiles/main.dir/main.cpp.o: in function `main':
main.cpp:(.text+0xc0): undefined reference to `PvString::PvString()'
/usr/bin/ld: main.cpp:(.text+0x174): undefined reference to `PvStream::Close()'
/usr/bin/ld: main.cpp:(.text+0x17c): undefined reference to `PvResult::~PvResult()'
/usr/bin/ld: main.cpp:(.text+0x184): undefined reference to `PvStream::Free(PvStream*)'
/usr/bin/ld: main.cpp:(.text+0x1bc): undefined reference to `PvDevice::Disconnect()'
/usr/bin/ld: main.cpp:(.text+0x1c4): undefined reference to `PvResult::~PvResult()'
/usr/bin/ld: main.cpp:(.text+0x1cc): undefined reference to `PvDevice::Free(PvDevice*)'
/usr/bin/ld: main.cpp:(.text+0x220): undefined reference to `PvString::~PvString()'
/usr/bin/ld: CMakeFiles/main.dir/main.cpp.o: in function `ConnectToDevice(PvString const&)':
main.cpp:(.text+0x2c8): undefined reference to `PvResult::PvResult()'
/usr/bin/ld: main.cpp:(.text+0x300): undefined reference to `PvDevice::CreateAndConnect(PvString const&, PvResult*)'
/usr/bin/ld: main.cpp:(.text+0x338): undefined reference to `PvResult::GetCodeString() const'
/usr/bin/ld: main.cpp:(.text+0x340): undefined reference to `PvString::GetAscii() const'
/usr/bin/ld: main.cpp:(.text+0x374): undefined reference to `PvResult::GetDescription() const'
/usr/bin/ld: main.cpp:(.text+0x37c): undefined reference to `PvString::GetAscii() const'
/usr/bin/ld: main.cpp:(.text+0x3c0): undefined reference to `PvString::~PvString()'
/usr/bin/ld: main.cpp:(.text+0x3cc): undefined reference to `PvResult::~PvResult()'
/usr/bin/ld: main.cpp:(.text+0x40c): undefined reference to `PvString::~PvString()'
/usr/bin/ld: main.cpp:(.text+0x41c): undefined reference to `PvResult::~PvResult()'
/usr/bin/ld: CMakeFiles/main.dir/main.cpp.o: in function `OpenStream(PvString const&)':
main.cpp:(.text+0x464): undefined reference to `PvResult::PvResult()'
/usr/bin/ld: main.cpp:(.text+0x49c): undefined reference to `PvStream::CreateAndOpen(PvString const&, PvResult*)'
/usr/bin/ld: main.cpp:(.text+0x4d4): undefined reference to `PvResult::GetCodeString() const'
/usr/bin/ld: main.cpp:(.text+0x4dc): undefined reference to `PvString::GetAscii() const'
/usr/bin/ld: main.cpp:(.text+0x510): undefined reference to `PvResult::GetDescription() const'
/usr/bin/ld: main.cpp:(.text+0x518): undefined reference to `PvString::GetAscii() const'
/usr/bin/ld: main.cpp:(.text+0x554): undefined reference to `PvString::~PvString()'
/usr/bin/ld: main.cpp:(.text+0x568): undefined reference to `PvResult::~PvResult()'
/usr/bin/ld: main.cpp:(.text+0x598): undefined reference to `PvString::~PvString()'
/usr/bin/ld: main.cpp:(.text+0x5b8): undefined reference to `PvResult::~PvResult()'
/usr/bin/ld: CMakeFiles/main.dir/main.cpp.o: in function `ConfigureStream(PvDevice*, PvStream*)':
main.cpp:(.text+0x610): undefined reference to `typeinfo for PvDeviceGEV'
/usr/bin/ld: main.cpp:(.text+0x614): undefined reference to `typeinfo for PvDeviceGEV'
/usr/bin/ld: main.cpp:(.text+0x61c): undefined reference to `typeinfo for PvDevice'
/usr/bin/ld: main.cpp:(.text+0x658): undefined reference to `PvDeviceGEV::NegotiatePacketSize(unsigned int, unsigned int)'
/usr/bin/ld: main.cpp:(.text+0x660): undefined reference to `PvResult::~PvResult()'
/usr/bin/ld: main.cpp:(.text+0x670): undefined reference to `PvStreamGEV::GetLocalIPAddress() const'
/usr/bin/ld: main.cpp:(.text+0x678): undefined reference to `PvStreamGEV::GetLocalPort() const'
/usr/bin/ld: main.cpp:(.text+0x698): undefined reference to `PvDeviceGEV::SetStreamDestination(PvString const&, unsigned short, unsigned int)'
/usr/bin/ld: main.cpp:(.text+0x6a0): undefined reference to `PvResult::~PvResult()'
/usr/bin/ld: main.cpp:(.text+0x6a8): undefined reference to `PvString::~PvString()'
/usr/bin/ld: main.cpp:(.text+0x6b0): undefined reference to `PvDevice::GetParameters()'
/usr/bin/ld: main.cpp:(.text+0x6c8): undefined reference to `PvString::PvString(char const*)'
/usr/bin/ld: main.cpp:(.text+0x6d8): undefined reference to `PvGenParameterArray::Get(PvString const&)'
/usr/bin/ld: main.cpp:(.text+0x6ec): undefined reference to `typeinfo for PvGenEnum'
/usr/bin/ld: main.cpp:(.text+0x6f4): undefined reference to `typeinfo for PvGenParameter'
/usr/bin/ld: main.cpp:(.text+0x70c): undefined reference to `PvString::~PvString()'
/usr/bin/ld: main.cpp:(.text+0x72c): undefined reference to `PvString::PvString(char const*)'
/usr/bin/ld: main.cpp:(.text+0x744): undefined reference to `PvGenEnum::SetValue(PvString const&)'
/usr/bin/ld: main.cpp:(.text+0x74c): undefined reference to `PvResult::~PvResult()'
/usr/bin/ld: main.cpp:(.text+0x78c): undefined reference to `PvString::~PvString()'
/usr/bin/ld: CMakeFiles/main.dir/main.cpp.o: in function `CreateStreamBuffers(PvDevice*, PvStream*, std::__cxx11::list<PvBuffer*, std::allocator<PvBuffer*> >*)':
main.cpp:(.text+0x820): undefined reference to `PvDevice::GetPayloadSize()'
/usr/bin/ld: main.cpp:(.text+0x82c): undefined reference to `PvStream::GetQueuedBufferMaximum() const'
/usr/bin/ld: main.cpp:(.text+0x83c): undefined reference to `PvStream::GetQueuedBufferMaximum() const'
/usr/bin/ld: main.cpp:(.text+0x874): undefined reference to `PvBuffer::PvBuffer(PvPayloadType)'
/usr/bin/ld: main.cpp:(.text+0x88c): undefined reference to `PvBuffer::Alloc(unsigned int)'
/usr/bin/ld: main.cpp:(.text+0x894): undefined reference to `PvResult::~PvResult()'
/usr/bin/ld: main.cpp:(.text+0x904): undefined reference to `PvStream::QueueBuffer(PvBuffer*)'
/usr/bin/ld: main.cpp:(.text+0x90c): undefined reference to `PvResult::~PvResult()'
/usr/bin/ld: CMakeFiles/main.dir/main.cpp.o: in function `AcquireImages(PvDevice*, PvStream*)':
main.cpp:(.text+0x998): undefined reference to `PvDevice::GetParameters()'
/usr/bin/ld: main.cpp:(.text+0x9b0): undefined reference to `PvString::PvString(char const*)'
/usr/bin/ld: main.cpp:(.text+0x9d0): undefined reference to `PvGenParameterArray::SetEnumValue(PvString const&, long)'
/usr/bin/ld: main.cpp:(.text+0x9d8): undefined reference to `PvResult::~PvResult()'
/usr/bin/ld: main.cpp:(.text+0x9e0): undefined reference to `PvString::~PvString()'
/usr/bin/ld: main.cpp:(.text+0x9f4): undefined reference to `PvString::PvString(char const*)'
/usr/bin/ld: main.cpp:(.text+0xa04): undefined reference to `PvGenParameterArray::Get(PvString const&)'
/usr/bin/ld: main.cpp:(.text+0xa14): undefined reference to `typeinfo for PvGenCommand'
/usr/bin/ld: main.cpp:(.text+0xa20): undefined reference to `typeinfo for PvGenParameter'
/usr/bin/ld: main.cpp:(.text+0xa38): undefined reference to `PvString::~PvString()'
/usr/bin/ld: main.cpp:(.text+0xa4c): undefined reference to `PvString::PvString(char const*)'
/usr/bin/ld: main.cpp:(.text+0xa5c): undefined reference to `PvGenParameterArray::Get(PvString const&)'
/usr/bin/ld: main.cpp:(.text+0xa6c): undefined reference to `typeinfo for PvGenCommand'
/usr/bin/ld: main.cpp:(.text+0xa78): undefined reference to `typeinfo for PvGenParameter'
/usr/bin/ld: main.cpp:(.text+0xa90): undefined reference to `PvString::~PvString()'
/usr/bin/ld: main.cpp:(.text+0xa98): undefined reference to `PvStream::GetParameters()'
/usr/bin/ld: main.cpp:(.text+0xab0): undefined reference to `PvString::PvString(char const*)'
/usr/bin/ld: main.cpp:(.text+0xacc): undefined reference to `PvGenParameterArray::SetEnumValue(PvString const&, long)'
/usr/bin/ld: main.cpp:(.text+0xad4): undefined reference to `PvResult::~PvResult()'
/usr/bin/ld: main.cpp:(.text+0xadc): undefined reference to `PvString::~PvString()'
/usr/bin/ld: main.cpp:(.text+0xaf0): undefined reference to `PvString::PvString(char const*)'
/usr/bin/ld: main.cpp:(.text+0xb00): undefined reference to `PvGenParameterArray::Get(PvString const&)'
/usr/bin/ld: main.cpp:(.text+0xb10): undefined reference to `typeinfo for PvGenFloat'
/usr/bin/ld: main.cpp:(.text+0xb1c): undefined reference to `typeinfo for PvGenParameter'
/usr/bin/ld: main.cpp:(.text+0xb34): undefined reference to `PvString::~PvString()'
/usr/bin/ld: main.cpp:(.text+0xb48): undefined reference to `PvString::PvString(char const*)'
/usr/bin/ld: main.cpp:(.text+0xb58): undefined reference to `PvGenParameterArray::Get(PvString const&)'
/usr/bin/ld: main.cpp:(.text+0xb68): undefined reference to `typeinfo for PvGenFloat'
/usr/bin/ld: main.cpp:(.text+0xb74): undefined reference to `typeinfo for PvGenParameter'
/usr/bin/ld: main.cpp:(.text+0xb8c): undefined reference to `PvString::~PvString()'
/usr/bin/ld: main.cpp:(.text+0xbc8): undefined reference to `PvDevice::StreamEnable(unsigned int)'
/usr/bin/ld: main.cpp:(.text+0xbd0): undefined reference to `PvResult::~PvResult()'
/usr/bin/ld: main.cpp:(.text+0xbe0): undefined reference to `PvGenCommand::Execute()'
/usr/bin/ld: main.cpp:(.text+0xbe8): undefined reference to `PvResult::~PvResult()'
/usr/bin/ld: main.cpp:(.text+0xc70): undefined reference to `PvResult::PvResult()'
/usr/bin/ld: main.cpp:(.text+0xc94): undefined reference to `PvStream::RetrieveBuffer(PvBuffer**, PvResult*, unsigned int)'
/usr/bin/ld: main.cpp:(.text+0xc9c): undefined reference to `PvResult::IsOK() const'
/usr/bin/ld: main.cpp:(.text+0xcb0): undefined reference to `PvResult::IsOK() const'
/usr/bin/ld: main.cpp:(.text+0xcd4): undefined reference to `PvGenFloat::GetValue(double&) const'
/usr/bin/ld: main.cpp:(.text+0xcdc): undefined reference to `PvResult::~PvResult()'
/usr/bin/ld: main.cpp:(.text+0xcf4): undefined reference to `PvGenFloat::GetValue(double&) const'
/usr/bin/ld: main.cpp:(.text+0xcfc): undefined reference to `PvResult::~PvResult()'
/usr/bin/ld: main.cpp:(.text+0xd14): undefined reference to `PvBuffer::GetPayloadType() const'
/usr/bin/ld: main.cpp:(.text+0xd2c): undefined reference to `PvBuffer::GetImage()'
/usr/bin/ld: main.cpp:(.text+0xfc0): undefined reference to `PvResult::GetCodeString() const'
/usr/bin/ld: main.cpp:(.text+0xfc8): undefined reference to `PvString::GetAscii() const'
/usr/bin/ld: main.cpp:(.text+0xff0): undefined reference to `PvString::~PvString()'
/usr/bin/ld: main.cpp:(.text+0x1008): undefined reference to `PvStream::QueueBuffer(PvBuffer*)'
/usr/bin/ld: main.cpp:(.text+0x1010): undefined reference to `PvResult::~PvResult()'
/usr/bin/ld: main.cpp:(.text+0x105c): undefined reference to `PvResult::GetCodeString() const'
/usr/bin/ld: main.cpp:(.text+0x1064): undefined reference to `PvString::GetAscii() const'
/usr/bin/ld: main.cpp:(.text+0x108c): undefined reference to `PvString::~PvString()'
/usr/bin/ld: main.cpp:(.text+0x10d8): undefined reference to `PvResult::~PvResult()'
/usr/bin/ld: main.cpp:(.text+0x1148): undefined reference to `PvGenCommand::Execute()'
/usr/bin/ld: main.cpp:(.text+0x1150): undefined reference to `PvResult::~PvResult()'
/usr/bin/ld: main.cpp:(.text+0x118c): undefined reference to `PvDevice::StreamDisable(unsigned int)'
/usr/bin/ld: main.cpp:(.text+0x1194): undefined reference to `PvResult::~PvResult()'
/usr/bin/ld: main.cpp:(.text+0x11cc): undefined reference to `PvStream::AbortQueuedBuffers()'
/usr/bin/ld: main.cpp:(.text+0x11d4): undefined reference to `PvResult::~PvResult()'
/usr/bin/ld: main.cpp:(.text+0x11dc): undefined reference to `PvStream::GetQueuedBufferCount() const'
/usr/bin/ld: main.cpp:(.text+0x11fc): undefined reference to `PvResult::PvResult()'
/usr/bin/ld: main.cpp:(.text+0x1220): undefined reference to `PvStream::RetrieveBuffer(PvBuffer**, PvResult*, unsigned int)'
/usr/bin/ld: main.cpp:(.text+0x1228): undefined reference to `PvResult::~PvResult()'
/usr/bin/ld: main.cpp:(.text+0x1230): undefined reference to `PvResult::~PvResult()'
/usr/bin/ld: main.cpp:(.text+0x1290): undefined reference to `PvString::~PvString()'
/usr/bin/ld: CMakeFiles/main.dir/main.cpp.o:main.cpp:(.text+0x12a4): more undefined references to `PvString::~PvString()' follow
/usr/bin/ld: CMakeFiles/main.dir/main.cpp.o: in function `AcquireImages(PvDevice*, PvStream*)':
main.cpp:(.text+0x1370): undefined reference to `PvResult::~PvResult()'
/usr/bin/ld: main.cpp:(.text+0x1380): undefined reference to `PvResult::~PvResult()'
/usr/bin/ld: main.cpp:(.text+0x1394): undefined reference to `PvResult::~PvResult()'
/usr/bin/ld: CMakeFiles/main.dir/main.cpp.o: in function `PvSelectDevice(PvString*, PvDeviceInfoType*)':
main.cpp:(.text._Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType[_Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType]+0x30): undefined reference to `PvResult::PvResult()'
/usr/bin/ld: main.cpp:(.text._Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType[_Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType]+0x3c): undefined reference to `PvSystem::PvSystem()'
/usr/bin/ld: main.cpp:(.text._Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType[_Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType]+0xa8): undefined reference to `PvSystem::Find()'
/usr/bin/ld: main.cpp:(.text._Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType[_Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType]+0xb0): undefined reference to `PvResult::~PvResult()'
/usr/bin/ld: main.cpp:(.text._Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType[_Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType]+0xc4): undefined reference to `PvSystem::GetInterfaceCount() const'
/usr/bin/ld: main.cpp:(.text._Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType[_Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType]+0xec): undefined reference to `PvSystem::GetInterface(unsigned int) const'
/usr/bin/ld: main.cpp:(.text._Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType[_Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType]+0x124): undefined reference to `PvInterface::GetDisplayID() const'
/usr/bin/ld: main.cpp:(.text._Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType[_Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType]+0x12c): undefined reference to `PvString::GetAscii() const'
/usr/bin/ld: main.cpp:(.text._Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType[_Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType]+0x154): undefined reference to `PvString::~PvString()'
/usr/bin/ld: main.cpp:(.text._Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType[_Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType]+0x160): undefined reference to `PvInterface::GetDeviceCount() const'
/usr/bin/ld: main.cpp:(.text._Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType[_Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType]+0x188): undefined reference to `PvInterface::GetDeviceInfo(unsigned int) const'
/usr/bin/ld: main.cpp:(.text._Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType[_Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType]+0x210): undefined reference to `PvDeviceInfo::GetDisplayID() const'
/usr/bin/ld: main.cpp:(.text._Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType[_Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType]+0x218): undefined reference to `PvString::GetAscii() const'
/usr/bin/ld: main.cpp:(.text._Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType[_Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType]+0x240): undefined reference to `PvString::~PvString()'
/usr/bin/ld: main.cpp:(.text._Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType[_Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType]+0x474): undefined reference to `PvDeviceInfo::IsConfigurationValid() const'
/usr/bin/ld: main.cpp:(.text._Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType[_Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType]+0x4a4): undefined reference to `PvDeviceInfo::GetConnectionID() const'
/usr/bin/ld: main.cpp:(.text._Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType[_Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType]+0x4b4): undefined reference to `PvString::operator=(PvString const&)'
/usr/bin/ld: main.cpp:(.text._Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType[_Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType]+0x4bc): undefined reference to `PvString::~PvString()'
/usr/bin/ld: main.cpp:(.text._Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType[_Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType]+0x4d0): undefined reference to `PvDeviceInfo::GetType() const'
/usr/bin/ld: main.cpp:(.text._Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType[_Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType]+0x628): undefined reference to `typeinfo for PvDeviceInfoGEV'
/usr/bin/ld: main.cpp:(.text._Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType[_Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType]+0x630): undefined reference to `typeinfo for PvDeviceInfo'
/usr/bin/ld: main.cpp:(.text._Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType[_Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType]+0x65c): undefined reference to `PvDeviceInfoGEV::GetMACAddress() const'
/usr/bin/ld: main.cpp:(.text._Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType[_Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType]+0x664): undefined reference to `PvString::GetAscii() const'
/usr/bin/ld: main.cpp:(.text._Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType[_Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType]+0x670): undefined reference to `PvString::PvString(char const*)'
/usr/bin/ld: main.cpp:(.text._Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType[_Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType]+0x694): undefined reference to `PvDeviceInfoGEV::GetSubnetMask() const'
/usr/bin/ld: main.cpp:(.text._Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType[_Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType]+0x69c): undefined reference to `PvString::GetAscii() const'
/usr/bin/ld: main.cpp:(.text._Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType[_Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType]+0x6a8): undefined reference to `PvString::PvString(char const*)'
/usr/bin/ld: main.cpp:(.text._Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType[_Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType]+0x6b8): undefined reference to `PvDeviceInfoGEV::GetDefaultGateway() const'
/usr/bin/ld: main.cpp:(.text._Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType[_Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType]+0x6c0): undefined reference to `PvString::GetAscii() const'
/usr/bin/ld: main.cpp:(.text._Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType[_Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType]+0x6cc): undefined reference to `PvString::PvString(char const*)'
/usr/bin/ld: main.cpp:(.text._Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType[_Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType]+0x6e8): undefined reference to `PvDeviceGEV::SetIPConfiguration(PvString const&, PvString const&, PvString const&, PvString const&)'
/usr/bin/ld: main.cpp:(.text._Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType[_Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType]+0x6f4): undefined reference to `PvResult::operator=(PvResult const&)'
/usr/bin/ld: main.cpp:(.text._Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType[_Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType]+0x6fc): undefined reference to `PvResult::~PvResult()'
/usr/bin/ld: main.cpp:(.text._Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType[_Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType]+0x704): undefined reference to `PvString::~PvString()'
/usr/bin/ld: CMakeFiles/main.dir/main.cpp.o:main.cpp:(.text._Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType[_Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType]+0x72c): more undefined references to `PvString::~PvString()' follow
/usr/bin/ld: CMakeFiles/main.dir/main.cpp.o: in function `PvSelectDevice(PvString*, PvDeviceInfoType*)':
main.cpp:(.text._Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType[_Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType]+0x73c): undefined reference to `PvResult::IsOK() const'
/usr/bin/ld: main.cpp:(.text._Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType[_Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType]+0x7e4): undefined reference to `PvSystem::Find()'
/usr/bin/ld: main.cpp:(.text._Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType[_Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType]+0x7ec): undefined reference to `PvResult::~PvResult()'
/usr/bin/ld: main.cpp:(.text._Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType[_Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType]+0x800): undefined reference to `PvSystem::GetInterfaceCount() const'
/usr/bin/ld: main.cpp:(.text._Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType[_Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType]+0x828): undefined reference to `PvSystem::GetInterface(unsigned int) const'
/usr/bin/ld: main.cpp:(.text._Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType[_Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType]+0x838): undefined reference to `PvInterface::GetDeviceCount() const'
/usr/bin/ld: main.cpp:(.text._Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType[_Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType]+0x860): undefined reference to `PvInterface::GetDeviceInfo(unsigned int) const'
/usr/bin/ld: main.cpp:(.text._Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType[_Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType]+0x864): undefined reference to `PvDeviceInfo::GetType() const'
/usr/bin/ld: main.cpp:(.text._Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType[_Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType]+0x884): undefined reference to `PvInterface::GetDeviceInfo(unsigned int) const'
/usr/bin/ld: main.cpp:(.text._Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType[_Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType]+0x894): undefined reference to `typeinfo for PvDeviceInfoGEV'
/usr/bin/ld: main.cpp:(.text._Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType[_Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType]+0x89c): undefined reference to `typeinfo for PvDeviceInfo'
/usr/bin/ld: main.cpp:(.text._Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType[_Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType]+0x8cc): undefined reference to `PvDeviceInfoGEV::GetIPAddress() const'
/usr/bin/ld: main.cpp:(.text._Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType[_Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType]+0x8d4): undefined reference to `PvString::GetAscii() const'
/usr/bin/ld: main.cpp:(.text._Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType[_Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType]+0x8ec): undefined reference to `PvString::~PvString()'
/usr/bin/ld: main.cpp:(.text._Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType[_Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType]+0x918): undefined reference to `PvDeviceInfo::GetConnectionID() const'
/usr/bin/ld: main.cpp:(.text._Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType[_Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType]+0x928): undefined reference to `PvString::operator=(PvString const&)'
/usr/bin/ld: main.cpp:(.text._Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType[_Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType]+0x930): undefined reference to `PvString::~PvString()'
/usr/bin/ld: main.cpp:(.text._Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType[_Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType]+0x944): undefined reference to `PvDeviceInfo::GetType() const'
/usr/bin/ld: main.cpp:(.text._Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType[_Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType]+0xaf0): undefined reference to `PvSystem::~PvSystem()'
/usr/bin/ld: main.cpp:(.text._Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType[_Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType]+0xaf8): undefined reference to `PvResult::~PvResult()'
/usr/bin/ld: main.cpp:(.text._Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType[_Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType]+0xb58): undefined reference to `PvString::~PvString()'
/usr/bin/ld: main.cpp:(.text._Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType[_Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType]+0xb68): undefined reference to `PvResult::~PvResult()'
/usr/bin/ld: main.cpp:(.text._Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType[_Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType]+0xbb8): undefined reference to `PvString::~PvString()'
/usr/bin/ld: CMakeFiles/main.dir/main.cpp.o:main.cpp:(.text._Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType[_Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType]+0xbc8): more undefined references to `PvString::~PvString()' follow
/usr/bin/ld: CMakeFiles/main.dir/main.cpp.o: in function `PvSelectDevice(PvString*, PvDeviceInfoType*)':
main.cpp:(.text._Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType[_Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType]+0xc38): undefined reference to `PvSystem::~PvSystem()'
/usr/bin/ld: main.cpp:(.text._Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType[_Z14PvSelectDeviceP8PvStringP16PvDeviceInfoType]+0xc48): undefined reference to `PvResult::~PvResult()'
/usr/bin/ld: CMakeFiles/main.dir/main.cpp.o: in function `PvSampleTransmitterConfig::SetDefaults()':
main.cpp:(.text._ZN25PvSampleTransmitterConfig11SetDefaultsEv[_ZN25PvSampleTransmitterConfig11SetDefaultsEv]+0x28): undefined reference to `PvSystem::PvSystem()'
/usr/bin/ld: main.cpp:(.text._ZN25PvSampleTransmitterConfig11SetDefaultsEv[_ZN25PvSampleTransmitterConfig11SetDefaultsEv]+0x38): undefined reference to `PvSystem::GetInterfaceCount() const'
/usr/bin/ld: main.cpp:(.text._ZN25PvSampleTransmitterConfig11SetDefaultsEv[_ZN25PvSampleTransmitterConfig11SetDefaultsEv]+0x7c): undefined reference to `PvSystem::GetInterface(unsigned int) const'
/usr/bin/ld: main.cpp:(.text._ZN25PvSampleTransmitterConfig11SetDefaultsEv[_ZN25PvSampleTransmitterConfig11SetDefaultsEv]+0x8c): undefined reference to `typeinfo for PvNetworkAdapter'
/usr/bin/ld: main.cpp:(.text._ZN25PvSampleTransmitterConfig11SetDefaultsEv[_ZN25PvSampleTransmitterConfig11SetDefaultsEv]+0x90): undefined reference to `typeinfo for PvNetworkAdapter'
/usr/bin/ld: main.cpp:(.text._ZN25PvSampleTransmitterConfig11SetDefaultsEv[_ZN25PvSampleTransmitterConfig11SetDefaultsEv]+0x94): undefined reference to `typeinfo for PvInterface'
/usr/bin/ld: main.cpp:(.text._ZN25PvSampleTransmitterConfig11SetDefaultsEv[_ZN25PvSampleTransmitterConfig11SetDefaultsEv]+0x98): undefined reference to `typeinfo for PvInterface'
/usr/bin/ld: main.cpp:(.text._ZN25PvSampleTransmitterConfig11SetDefaultsEv[_ZN25PvSampleTransmitterConfig11SetDefaultsEv]+0xbc): undefined reference to `PvNetworkAdapter::GetIPAddressCount() const'
/usr/bin/ld: main.cpp:(.text._ZN25PvSampleTransmitterConfig11SetDefaultsEv[_ZN25PvSampleTransmitterConfig11SetDefaultsEv]+0xe8): undefined reference to `PvNetworkAdapter::GetIPAddress(unsigned int) const'
/usr/bin/ld: main.cpp:(.text._ZN25PvSampleTransmitterConfig11SetDefaultsEv[_ZN25PvSampleTransmitterConfig11SetDefaultsEv]+0xf0): undefined reference to `PvString::GetAscii() const'
/usr/bin/ld: main.cpp:(.text._ZN25PvSampleTransmitterConfig11SetDefaultsEv[_ZN25PvSampleTransmitterConfig11SetDefaultsEv]+0x11c): undefined reference to `PvString::GetAscii() const'
/usr/bin/ld: main.cpp:(.text._ZN25PvSampleTransmitterConfig11SetDefaultsEv[_ZN25PvSampleTransmitterConfig11SetDefaultsEv]+0x13c): undefined reference to `PvString::~PvString()'
/usr/bin/ld: main.cpp:(.text._ZN25PvSampleTransmitterConfig11SetDefaultsEv[_ZN25PvSampleTransmitterConfig11SetDefaultsEv]+0x204): undefined reference to `PvSystem::~PvSystem()'
/usr/bin/ld: main.cpp:(.text._ZN25PvSampleTransmitterConfig11SetDefaultsEv[_ZN25PvSampleTransmitterConfig11SetDefaultsEv]+0x234): undefined reference to `PvString::~PvString()'
/usr/bin/ld: main.cpp:(.text._ZN25PvSampleTransmitterConfig11SetDefaultsEv[_ZN25PvSampleTransmitterConfig11SetDefaultsEv]+0x244): undefined reference to `PvSystem::~PvSystem()'
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/main.dir/build.make:149: main] Error 1
make[1]: *** [CMakeFiles/Makefile2:76: CMakeFiles/main.dir/all] Error 2
make: *** [Makefile:84: all] Error 2
As far as I can make out the compiler is able to detect and link the libraries but not find the definition of the functions.
PS:
- I have double-checked the paths and installation for my architecture ‘Jetpack5.1’
- I tested this code via visual studio on my windows pc, it was working fine
Kindly help. Thank you.