saleae / analyzersdk Goto Github PK
View Code? Open in Web Editor NEWLogic 1 & Logic 2 Analyzer SDK
Logic 1 & Logic 2 Analyzer SDK
I downloaded the SDK from http://support.saleae.com/hc/en-us/articles/208667926-Protocol-Analyzer-SDK
and immediately got a compile error. The thing on Linux is looking in the wrong path. Here's a patch:
*** v_build_analyzer.py 2017-05-11 11:02:51.023777648 -0700
--- build_analyzer.py 2017-05-11 11:05:58.541376293 -0700
***************
*** 39,44 ****
#specify the search paths/dependencies/options for gcc
! include_paths = [ "../include" ]
! link_paths = [ "../lib" ]
link_dependencies = [ "-lAnalyzer" ] #refers to libAnalyzer.dylib or libAnalyzer.so
--- 39,44 ----
#specify the search paths/dependencies/options for gcc
! include_paths = [ "include" ]
! link_paths = [ "lib" ]
link_dependencies = [ "-lAnalyzer" ] #refers to libAnalyzer.dylib or libAnalyzer.so
***************
*** 47,50 ****
--- 47,51 ----
#loop through all the cpp files, build up the gcc command line, and attempt to compile each cpp file
+ print("Bryce: Working directory " + os.getcwd())
for cpp_file in cpp_files:
Hi.
i'm trying to implement multichannel protocol and i've stuck into one problem.
Is there any way to find out current channel in AnalyzerResults::GenerateFrameTabularText() method just like it is already implemented in AnalyzerResults::GenerateBubbleText()?
Best regards, Egor.
HI, I have question in connection with UI of software, i want to change the UI and add some button to it. is there any possibility for it?
I'm trying linking to it with MINGW GCC/CLANG and it doesn't find any symbol.
Hey folks,
I developed some protocol analyzers what I would like to hook to sigrok/pulseview.
To achieve it I would need to create a replacement library for the AnalyzerSDK shared library which would expose the same API to my analyzer (and would provide some glue logic to sigrok/pulseview). Practically I would need to duplicate/leverage your API headers.
What is your legal standpoint on this? Would it violate the copyright with this?
Thanks in advance!
The string returned from AnalyzerHelpers::GetNumberString is always "0b " no matter what value is passed in as the first argument. Tried using different sizes for number of bits, same result.
Doxygen (https://www.stack.nl/~dimitri/doxygen/) is a tool for generate source code (API) documentation from comments in source code. The output can be in various formats (RTM, HTML, CHM, Eclipse help files, LaTeX for PDF conversion, etc).
You'd write these comments into the header files, so the costumer can read the documentation in the files and/or generate the documentation themselves,
I'm generating simulation data for a clocked serial interface (PDM audio). It seems like the lowest channel fail to generate data properly unless there is an additional unused channel in the Logic program. This is best shown by images:
As can be seen from the images, something seems to go wrong when generating data with a limited number of channels enabled. In the images I'm using Channel 1 and 2, I also tried with Channels 0 and 1, and that combination shows same behavior.
I'm using Windows 64x version of the Logic application.
This seems more like an application issue, but I'm reporting for SDK in lack of better place to put it.
I would like to write some high-level protocol analyzers which are encapsulated into a serial transport, but there's no open Async Serial
analyzer source to inherit from.
Could you release it's source code or I have to implement Serial parsing from scratch?
The Linux SO library cannot be run on ARM CPU, car you release a version for ARM?
There are differences between the SDK version 1.1.8 (1.1.14) and the current one.
The support pages (http://support.saleae.com/hc/en-us/articles/208667936) state that you must implement your analyzer differently.
Especially switching back between old and new SDK (for debugging) would be much easier if the SDK version number would be supplied in some header file, so you could simply use #ifdef
s and react to whatever SDK directory you set your include path to.
It might not be possible to add this to old SDK releases (they would have to be re-released?), but the current SDK could maybe add this, or alternatively a #define SDK_LEVEL 2
(or similar).
It's very annoying that if I want to see an integer in hex mode using an analyzer that exports V2 frames, it's going to show every digit for all 8 bytes. If I have a lot of integer fields to look at, I might not even be able to fit all of them in my monitor unless I shrink the columns enough to cut off useful data in favor of useless zeros.
If analyzers had the ability to specify how many bytes the field has, hex mode can just show the leading zeros to match that number of bytes.
Currently, there's only 1 paragraph in the documentation regarding UNDEFINED_CHANNEL.
From what I could debug, especially Analyzer::GetAnalyzerChannelData
crashes when the channel supplied is UNDEFINED_CHANNEL. Could you add this to the documentation?
I'm trying to generate Simulation data for a protocol, but it seems that when I initialize clock generator for 768kHz. And loop to generate a clock it shows up as 384kHz in Logic.
In SimulationDataGenerator:
mClockGenerator.Init(768000.0, simulation_sample_rate);
In a loop inside GenerateSimulationData:
mSck->Transition();
SimulationChannels.AdvanceAll(mClockGenerator.AdvanceByHalfPeriod(1.0));
mSck->Transition();
SimulationChannels.AdvanceAll(mClockGenerator.AdvanceByHalfPeriod(1.0));
By the name of the function I would have expected it to advance by only half a period when given 1.0 as argument. Especially when 1.0 is the default value for the argument.
My apologies if this is not the appropriate place to report this kind of issues.
Where can I find the latest sdk documentation?
The ones I can find online are from 2011.
I can easily debug my custom analyzer with logic 1.2.18, but when I change the gdb binary to 2.3, it just doesn't work, vs code claims my cpp file is not loaded yet.
This is especially annoying because my analyzer causes logic 2.3 to crash, but not 1.2.
And BTW, for a couple of years you are "working' to get windows debug available with up to date versions....
I checked high level analyzers, it does not seem to work for me in its current state. I would need Async serial AND an extra signal
(this is a copy of saleae/SampleAnalyzer#15 )
I am attempting to generate multiple types of Frames and have them display on two different channels as bubble text. When doing this I am having issues with the bubble text not appearing consistently.
The start/stop samples for the first type of Frame span the entire transaction on the first channel and the second type of Frame will have multiple occurrences with start/stop sample numbers falling between the start/stop of the first Frame type. In my GenerateBubbleText
function I then selectively add a result string only if it is the correct frame type for the correct channel (see function below).
void ExecutionTimeAnalyzerResults::GenerateBubbleText( U64 frame_index, Channel& channel, DisplayBase display_base )
{
ClearResultStrings();
Frame frame = GetFrame( frame_index );
if (channel == mSettings->mInputTimerChannel && 0 == frame.mType) {
char number_str[128];
AnalyzerHelpers::GetNumberString( frame.mData1, display_base, 32, number_str, 128 );
AddResultString(number_str);
} else if (channel == mSettings->mInputSubTimerChannel && 1 == frame.mType) {
char number_str[128];
AnalyzerHelpers::GetNumberString( frame.mData1, display_base, 32, number_str, 128 );
AddResultString(number_str);
}
}
I get inconsistent display results as a zoom in and out, where there bubble text on the second channel pop in and out and seem to add an additional invisible frame to the group when it combines them. As far as I can tell, even though I didn't add a result string for the first frame type on the second channel it is still trying to render it sometimes and this causes issues with the overlapping second frame type.
I am using Logic-2.3.47-master.AppImage on Ubuntu 20.04.
Currently, the provided dll is not compatible with mingw64 (for g++ and not VS compiling). The library is found but not the symbols in it.
Example:
g++ -L./AnalyzerSDK/lib -lAnalyzer64...
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: build/SimpleGen2Analyzer.o:SimpleAnalyzer.cpp:(.text+0x291): undefined reference to `AnalyzerChannelData::GetBitState()'
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: build/SimpleGen2Analyzer.o:SimpleAnalyzer.cpp:(.text+0x2f6): undefined reference to `Analyzer::KillThread()'...
At the end of the LogicPublicTypes.h file there is the following code is present:
#ifdef _MSC_VER #define snprintf _snprintf_s #define vsnprintf vsprintf_s #endif
This breaks the "cross compilation" of my analyzers between Linux and MSVC because the snprintf has the following prototype:
int snprintf ( char * s, size_t n, const char * format, ... );
While the _snprintf_s has the following:
int _snprintf_s( char *buffer, size_t sizeOfBuffer, size_t count, const char *format [, argument] ... );
Is it a typo or is it intended?
I'm currently integrating Saleae's AnalyzerSDK into my project's unit tests using the Catch2 testing framework. However, during the build process with the GCC toolchain, I encounter numerous "undefined reference" errors during the linking stage. Surprisingly, when switching to Clang, the build completes without any issues. I'm not specifically testing anything related to the AnalyzerSDK itself, but I must include my analyzer library objects in the test executable, which in turn includes AnalyzerSDK. OS: Ubuntu 22.04 LTS.
I'm seeking clarification on the build configuration of the AnalyzerSDK library. Could the discrepancies in behavior between GCC and Clang be related to how the library was built? I'm eager to continue using GCC and would prefer not to switch to Clang.
cmake_minimum_required(VERSION 3.8)
project(Example VERSION 1.0.0 LANGUAGES CXX)
find_package(AnalyzerSDK REQUIRED HINTS ${PROJECT_SOURCE_DIR})
include(CheckCXXSourceCompiles)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED YES)
set(CMAKE_CXX_EXTENSIONS OFF)
set(CMAKE_REQUIRED_FLAGS "-std=c++11 -lc++")
set(CMAKE_REQUIRED_LIBRARIES Saleae::AnalyzerSDK)
CHECK_CXX_SOURCE_COMPILES("#include \"LogicPublicTypes.h\"\n#include \"AnalyzerResults.h\"\nint main(int argc, char const* argv[])\n{U8 u8 {0};return 0;}" FIRST)
CHECK_CXX_SOURCE_COMPILES("#include \"LogicPublicTypes.h\"\n#include \"AnalyzerResults.h\"\nint main(int argc, char const* argv[])\n{auto f = Frame(); U8 u8 {0};return 0;}" SECOND)
Test Commands:
GCC: cmake ..
Clang: cmake -DCMAKE_CXX_COMPILER=/usr/bin/clang++ ..
In the example, the FIRST target will succeed with both compilers. It likely doesn't attempt to link anything from the library to the executable. However, the SECOND target fails with the GCC compiler but succeeds with the Clang compiler. Note: The CMAKE_REQUIRED_FLAGS
are only necessary with the Clang compiler but should not affect the GCC compiler.
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::numpunct<wchar_t>::id'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::__codecvt_utf8_utf16<wchar_t>::do_length(__mbstate_t&, char const*, char const*, unsigned long) const'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::basic_istream<char, std::__1::char_traits<char> >::sync()'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&)'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::basic_streambuf<char, std::__1::char_traits<char> >::uflow()'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::ios_base::init(void*)'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::thread::join()'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::basic_ostream<char, std::__1::char_traits<char> >::put(char)'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::__shared_weak_count::lock()'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::__vector_base_common<true>::__throw_length_error() const'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::basic_streambuf<char, std::__1::char_traits<char> >::imbue(std::__1::locale const&)'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::__shared_weak_count::__release_weak()'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::condition_variable::~condition_variable()'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::ctype<char>::id'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::chrono::system_clock::to_time_t(std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000l> > > const&)'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `vtable for std::bad_variant_access'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::recursive_mutex::recursive_mutex()'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::stof(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned long*)'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::basic_ostream<char, std::__1::char_traits<char> >::operator<<(unsigned short)'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::basic_ostream<char, std::__1::char_traits<char> >::operator<<(long)'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::recursive_mutex::unlock()'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::basic_iostream<char, std::__1::char_traits<char> >::~basic_iostream()'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::__vector_base_common<true>::__throw_out_of_range() const'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `virtual thunk to std::__1::basic_iostream<char, std::__1::char_traits<char> >::~basic_iostream()'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::basic_istream<char, std::__1::char_traits<char> >::~basic_istream()'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::__basic_string_common<true>::__throw_length_error() const'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::__fs::filesystem::path::__root_directory() const'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::compare(unsigned long, unsigned long, char const*, unsigned long) const'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::thread::~thread()'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::__codecvt_utf8_utf16<wchar_t>::do_unshift(__mbstate_t&, char*, char*, char*&) const'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::basic_istream<char, std::__1::char_traits<char> >::operator>>(short&)'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::basic_istream<char, std::__1::char_traits<char> >::ignore(long, int)'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::__fs::filesystem::__create_directories(std::__1::__fs::filesystem::path const&, std::__1::error_code*)'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >::basic_string(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > const&)'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::basic_ostream<char, std::__1::char_traits<char> >::operator<<(short)'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `non-virtual thunk to std::__1::basic_iostream<char, std::__1::char_traits<char> >::~basic_iostream()'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::insert(unsigned long, char const*)'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::mutex::unlock()'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::chrono::system_clock::now()'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > std::__1::operator+<char, std::__1::char_traits<char>, std::__1::allocator<char> >(char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::__codecvt_utf8_utf16<wchar_t>::do_max_length() const'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::codecvt<char, char, __mbstate_t>::do_encoding() const'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >::resize(unsigned long, wchar_t)'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::basic_ostream<char, std::__1::char_traits<char> >::sentry::~sentry()'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::error_code::message() const'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::__fs::filesystem::__temp_directory_path(std::__1::error_code*)'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::push_back(char)'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >::append(wchar_t const*, unsigned long)'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::basic_istream<char, std::__1::char_traits<char> >::operator>>(double&)'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::codecvt<wchar_t, char, __mbstate_t>::codecvt(unsigned long)'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `virtual thunk to std::__1::basic_iostream<char, std::__1::char_traits<char> >::~basic_iostream()'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::basic_ostream<char, std::__1::char_traits<char> >::~basic_ostream()'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::codecvt<char, char, __mbstate_t>::do_max_length() const'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::basic_ios<char, std::__1::char_traits<char> >::~basic_ios()'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::basic_istream<char, std::__1::char_traits<char> >::operator>>(unsigned short&)'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::__next_prime(unsigned long)'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::codecvt<char, char, __mbstate_t>::do_in(__mbstate_t&, char const*, char const*, char const*&, char*, char*, char*&) const'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::__thread_struct::~__thread_struct()'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::codecvt<char, char, __mbstate_t>::do_unshift(__mbstate_t&, char*, char*, char*&) const'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::codecvt<char, char, __mbstate_t>::do_length(__mbstate_t&, char const*, char const*, unsigned long) const'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::basic_istream<char, std::__1::char_traits<char> >::get()'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::system_category()'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `typeinfo for std::__1::__shared_weak_count'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `typeinfo for std::__1::basic_istream<char, std::__1::char_traits<char> >'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::locale::locale()'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::mutex::lock()'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::ios_base::clear(unsigned int)'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::cout'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::basic_streambuf<char, std::__1::char_traits<char> >::basic_streambuf()'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::basic_string(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `typeinfo for std::__1::basic_ostream<char, std::__1::char_traits<char> >'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::recursive_mutex::lock()'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::locale::id::__get()'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::recursive_mutex::~recursive_mutex()'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `virtual thunk to std::__1::basic_istream<char, std::__1::char_traits<char> >::~basic_istream()'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::basic_ostream<char, std::__1::char_traits<char> >::operator<<(bool)'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::basic_ostream<char, std::__1::char_traits<char> >::operator<<(unsigned int)'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::__thread_local_data()'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `typeinfo for std::__1::bad_weak_ptr'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::basic_istream<char, std::__1::char_traits<char> >::operator>>(unsigned long long&)'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::basic_istream<char, std::__1::char_traits<char> >::operator>>(int&)'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::ios_base::imbue(std::__1::locale const&)'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::locale::has_facet(std::__1::locale::id&) const'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::__codecvt_utf8_utf16<wchar_t>::do_out(__mbstate_t&, wchar_t const*, wchar_t const*, wchar_t const*&, char*, char*, char*&) const'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::basic_ostream<char, std::__1::char_traits<char> >::operator<<(unsigned long)'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `virtual thunk to std::__1::basic_ostream<char, std::__1::char_traits<char> >::~basic_ostream()'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::locale::use_facet(std::__1::locale::id&) const'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >)'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::reserve(unsigned long)'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::stoull(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned long*, int)'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::runtime_error::runtime_error(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::bad_cast::bad_cast()'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `typeinfo for std::__1::basic_streambuf<char, std::__1::char_traits<char> >'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::stoll(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned long*, int)'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::locale::operator=(std::__1::locale const&)'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::basic_ostream<char, std::__1::char_traits<char> >::operator<<(long long)'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::chrono::system_clock::from_time_t(long)'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::basic_ostream<char, std::__1::char_traits<char> >::operator<<(int)'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::basic_istream<char, std::__1::char_traits<char> >::operator>>(bool&)'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__grow_by(unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long)'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::basic_istream<char, std::__1::char_traits<char> >::operator>>(unsigned int&)'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::locale::__install_ctor(std::__1::locale const&, std::__1::locale::facet*, long)'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::__codecvt_utf8_utf16<wchar_t>::do_always_noconv() const'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::__throw_system_error(int, char const*)'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::assign(char const*)'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::locale::classic()'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::time_put<char, std::__1::ostreambuf_iterator<char, std::__1::char_traits<char> > >::put(std::__1::ostreambuf_iterator<char, std::__1::char_traits<char> >, std::__1::ios_base&, char, tm const*, char const*, char const*) const'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::basic_streambuf<char, std::__1::char_traits<char> >::xsgetn(char*, long)'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::stod(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned long*)'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `virtual thunk to std::__1::basic_istream<char, std::__1::char_traits<char> >::~basic_istream()'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::basic_streambuf<char, std::__1::char_traits<char> >::showmanyc()'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::__shared_weak_count::~__shared_weak_count()'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `non-virtual thunk to std::__1::basic_iostream<char, std::__1::char_traits<char> >::~basic_iostream()'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::append(char const*)'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `virtual thunk to std::__1::basic_ostream<char, std::__1::char_traits<char> >::~basic_ostream()'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `typeinfo for std::__1::basic_iostream<char, std::__1::char_traits<char> >'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::basic_ostream<char, std::__1::char_traits<char> >::operator<<(double)'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::~basic_string()'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::basic_istream<char, std::__1::char_traits<char> >::~basic_istream()'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::time_put<char, std::__1::ostreambuf_iterator<char, std::__1::char_traits<char> > >::id'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::locale::locale(std::__1::locale const&)'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::basic_ostream<char, std::__1::char_traits<char> >::write(char const*, long)'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::__shared_weak_count::__get_deleter(std::type_info const&) const'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::locale::~locale()'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::codecvt<char, char, __mbstate_t>::do_out(__mbstate_t&, char const*, char const*, char const*&, char*, char*, char*&) const'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::__codecvt_utf8_utf16<wchar_t>::do_encoding() const'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `vtable for std::__1::bad_weak_ptr'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::resize(unsigned long, char)'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::__fs::filesystem::path::__filename() const'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::basic_ostream<char, std::__1::char_traits<char> >::~basic_ostream()'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::to_string(int)'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::codecvt<char, char, __mbstate_t>::id'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::condition_variable::notify_one()'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::this_thread::sleep_for(std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > const&)'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::bad_weak_ptr::~bad_weak_ptr()'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::codecvt<char, char, __mbstate_t>::~codecvt()'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::stoul(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned long*, int)'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >::__grow_by(unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long)'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::basic_istream<char, std::__1::char_traits<char> >::operator>>(long long&)'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::chrono::steady_clock::now()'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::basic_streambuf<char, std::__1::char_traits<char> >::~basic_streambuf()'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::__codecvt_utf8_utf16<wchar_t>::do_in(__mbstate_t&, char const*, char const*, char const*&, wchar_t*, wchar_t*, wchar_t*&) const'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::locale::facet::__on_zero_shared()'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::basic_ostream<char, std::__1::char_traits<char> >::~basic_ostream()'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `typeinfo for std::__1::__codecvt_utf8_utf16<wchar_t>'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `typeinfo for std::bad_variant_access'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::mutex::try_lock()'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::basic_istream<char, std::__1::char_traits<char> >::read(char*, long)'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::basic_streambuf<char, std::__1::char_traits<char> >::setbuf(char*, long)'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::basic_iostream<char, std::__1::char_traits<char> >::~basic_iostream()'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::append(char const*, unsigned long)'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::basic_ostream<char, std::__1::char_traits<char> >::operator<<(unsigned long long)'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::operator=(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::ios_base::__set_badbit_and_consider_rethrow()'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::basic_istream<char, std::__1::char_traits<char> >::peek()'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::basic_istream<char, std::__1::char_traits<char> >::operator>>(unsigned long&)'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::numpunct<char>::id'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::basic_streambuf<char, std::__1::char_traits<char> >::xsputn(char const*, long)'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::__thread_struct::__thread_struct()'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::ios_base::getloc() const'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::basic_ostream<char, std::__1::char_traits<char> >::flush()'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `typeinfo for std::__1::codecvt<char, char, __mbstate_t>'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::basic_iostream<char, std::__1::char_traits<char> >::~basic_iostream()'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::basic_ostream<char, std::__1::char_traits<char> >::sentry::sentry(std::__1::basic_ostream<char, std::__1::char_traits<char> >&)'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::basic_streambuf<char, std::__1::char_traits<char> >::sync()'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::stol(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned long*, int)'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::basic_string(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned long, unsigned long, std::__1::allocator<char> const&)'
/usr/bin/ld: ../../AnalyzerSDK/lib_x86_64/libAnalyzer.so: undefined reference to `std::__1::codecvt<wchar_t, char, __mbstate_t>::~codecvt()'
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.