I have an error in including <glog/logging.h>.
My program is (test.cc):
#include <glog/logging.h>
int main(int argc, char* argv[]) {
// Initialize Google’s logging library.
google::InitGoogleLogging(argv[0]);
// ...
LOG(INFO) << "Found cookies";
}
only it!
And my CMakeLists.txt is:
cmake_minimum_required (VERSION 3.16)
project (myproj VERSION 1.0)
find_package (glog 0.6.0 REQUIRED)
add_executable (myapp test.cc)
target_link_libraries (myapp glog::glog)
Also errors are:
[build] In file included from /home/user/Documents/projects/hist/hist/src/test.cc:4:
[build] /usr/local/include/glog/logging.h:60:4: error: #error <glog/logging.h> was not included correctly. See the documention for how to consume the library.
[build] 60 | # error <glog/logging.h> was not included correctly. See the documention for how to consume the library.
[build] | ^~~~~
[build] In file included from /usr/local/include/glog/logging.h:63,
[build] from /home/user/Documents/projects/hist/hist/src/test.cc:4:
[build] /usr/local/include/glog/flags.h:45:4: error: #error <glog/flags.h> was not included correctly. See the documention for how to consume the library.
[build] 45 | # error <glog/flags.h> was not included correctly. See the documention for how to consume the library.
[build] | ^~~~~
[build] In file included from /usr/local/include/glog/logging.h:77,
[build] from /home/user/Documents/projects/hist/hist/src/test.cc:4:
[build] /usr/local/include/glog/log_severity.h:38:4: error: #error <glog/log_severity.h> was not included correctly. See the documention for how to consume the library.
[build] 38 | # error <glog/log_severity.h> was not included correctly. See the documention for how to consume the library.
[build] | ^~~~~
[build] In file included from /usr/local/include/glog/logging.h:78,
[build] from /home/user/Documents/projects/hist/hist/src/test.cc:4:
[build] /usr/local/include/glog/vlog_is_on.h:71:4: error: #error <glog/vlog_is_on.h> was not included correctly. See the documention for how to consume the library.
[build] 71 | # error <glog/vlog_is_on.h> was not included correctly. See the documention for how to consume the library.
[build] | ^~~~~
[build] In file included from /usr/local/include/glog/logging.h:63,
[build] from /home/user/Documents/projects/hist/hist/src/test.cc:4:
[build] /usr/local/include/glog/flags.h:105:1: error: ‘GLOG_EXPORT’ does not name a type
[build] 105 | DECLARE_int32(logemaillevel);
[build] | ^~~~~~~~~~~~~
[build] /usr/local/include/glog/flags.h:105:1: error: ‘FLAGS_logemaillevel’ has not been declared in ‘fLI’
[build] 105 | DECLARE_int32(logemaillevel);
[build] | ^~~~~~~~~~~~~
[build] /usr/local/include/glog/flags.h:106:1: error: ‘GLOG_EXPORT’ does not name a type
[build] 106 | DECLARE_int32(logcleansecs);
[build] | ^~~~~~~~~~~~~
[build] /usr/local/include/glog/flags.h:106:1: error: ‘FLAGS_logcleansecs’ has not been declared in ‘fLI’
[build] 106 | DECLARE_int32(logcleansecs);
[build] | ^~~~~~~~~~~~~
...
I installed glog from its README in github and all its tests were successful. text
And I installed this: text
Please help me.
It's looks like you are using it on Windows, without specify how to use the DLL or library. What is causing it is the following section in the header file:
#if !defined(GLOG_EXPORT) || !defined(GLOG_NO_EXPORT)
# error <glog/logging.h> was not included correctly. See the documention for how to consume the library.
#endif
In other words: need to add a definition to CMake add_definitions(-DGLOG_NO_EXPORT)
if you are using glog as a static lib, or add_definitions(-DGLOG_USE_GLOG_EXPORT)
if glog is a DLL.
If you built glog by yourself, make sure you set the appropriate swiches.