You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm trying to use easyloggingpp for tracking the performance of a computation intensive method called from multiple theads. In order to achieve that, this method starts by calling TIMED_FUNC(timerObj); as shown bellow:
void class::intensiveMethod(){
TIMED_FUNC(timerObj);
// Some calculations...
}
Easyloggingpp is initialized with the following macros defined:
As a result, compiler fails and shows this error:
``
/tmp/build-via-sdist-dtgmx5ps/example/src/example.cpp:57:5: error: invalid use of incomplete type ‘class el::base::PerformanceTracker’
57 | TIMED_FUNC(timerObj);
| ^~~~~~~~~~
In file included from /tmp/build-via-sdist-dtgmx5ps/example/src/example.cpp:1:
/config/.conan2/p/b/easyl65a687b0e9e22/p/include/easylogging++.h:484:7: note: forward declaration of ‘class el::base::PerformanceTracker’
484 | class PerformanceTracker;
| ^~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/11/bits/locale_conv.h:41,
from /usr/include/c++/11/locale:43,
from /usr/include/c++/11/bits/fs_path.h:37,
from /usr/include/c++/11/filesystem:45,
...
from /tmp/build-via-sdist-dtgmx5ps/example/src/example.cpp:1:
/usr/include/c++/11/bits/unique_ptr.h: In instantiation of ‘void std::default_delete<_Tp>::operator()(_Tp*) const [with _Tp = el::base::PerformanceTracker]’:
/usr/include/c++/11/bits/unique_ptr.h:361:17: required from ‘std::unique_ptr<_Tp, _Dp>::~unique_ptr() [with _Tp = el::base::PerformanceTracker; _Dp = std::default_delete<el::base::PerformanceTracker>]’
/tmp/build-via-sdist-dtgmx5ps/example/src/example.cpp:57:5: required from here
/usr/include/c++/11/bits/unique_ptr.h:83:23: error: invalid application of ‘sizeof’ to incomplete type ‘el::base::PerformanceTracker’
83 | static_assert(sizeof(_Tp)>0,
| ^~~~~~~~~~~
If I comment TIMED_FUNC(timerObj);, the program compiles fine.
Does performance tracking require defining additional macros or creating timerObj as a global variable?
The text was updated successfully, but these errors were encountered:
I'm trying to use easyloggingpp for tracking the performance of a computation intensive method called from multiple theads. In order to achieve that, this method starts by calling
TIMED_FUNC(timerObj);
as shown bellow:Easyloggingpp is initialized with the following macros defined:
As a result, compiler fails and shows this error:
``
If I comment
TIMED_FUNC(timerObj);
, the program compiles fine.Does performance tracking require defining additional macros or creating timerObj as a global variable?
The text was updated successfully, but these errors were encountered: