I could not build boost code,

I have sample code, I just wanted to build it. I am trying to send log to a file, unfortunately the init function part does not compile, I posted code and compile error as follows, I just wonder what I did wrong here:
Thanks for your help.

Here is the code I am compiling, boost has setup correctly, I can build main part, it running and output message on the console, I just need to redirect to a file, but I could not build init() function:

#include <boost/log/core.hpp>
#include <boost/log/trivial.hpp>
#include <boost/log/expressions.hpp>
#include <boost/log/utility/setup/file.hpp>

using namespace boost::log;

void init()
{
    logging::add_file_log("sample.log");

    logging::core::get()->set_filter
    (
        logging::trivial::severity >= logging::trivial::info
    );
}

int main(int, char*[])
{
	BOOST_LOG_TRIVIAL(trace) << "A trace severity message";
	BOOST_LOG_TRIVIAL(debug) << "A debug severity message";
	BOOST_LOG_TRIVIAL(info) << "An informational severity message";
	BOOST_LOG_TRIVIAL(warning) << "A warning severity message";
	BOOST_LOG_TRIVIAL(error) << "An error severity message";
	BOOST_LOG_TRIVIAL(fatal) << "A fatal severity message";

	return 0;
}

Open in new window

Here is the compile output:


1>------ Build started: Project: testboostLogging, Configuration: Debug x64 ------
1>Build started 9/29/2016 7:35:19 AM.
1>InitializeBuildStatus:
1>  Touching "x64\Debug\testboostLogging.unsuccessfulbuild".
1>ClCompile:
1>  testboostLogging.cpp
1>testboostLogging.cpp(13): error C2653: 'logging' : is not a class or namespace name
1>testboostLogging.cpp(15): error C2653: 'logging' : is not a class or namespace name
1>testboostLogging.cpp(16): error C2227: left of '->set_filter' must point to class/struct/union/generic type
1>          type is ''unknown-type''
1>testboostLogging.cpp(17): error C2653: 'logging' : is not a class or namespace name
1>testboostLogging.cpp(17): error C2065: 'severity' : undeclared identifier
1>testboostLogging.cpp(17): error C2653: 'logging' : is not a class or namespace name
1>testboostLogging.cpp(18): error C2065: 'info' : undeclared identifier
1>testboostLogging.cpp(15): error C3861: 'get': identifier not found
1>
1>Build FAILED.
1>
1>Time Elapsed 00:00:22.41
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

I am using boost 1.59.0 at this time, I have compiled the code for both 64 bit.
Does anyone knows what is wrong?

Evan
Evan LiSr SW EngineerAsked:
Who is Participating?
 
ZoppoConnect With a Mentor Commented:
Hi Evan Li,

well, the first error does clearly show what the problem is:

testboostLogging.cpp(13): error C2653: 'logging' : is not a class or namespace name

Most (if not all) Boost functions/classes you use are declared in namespace boost::log, there's no namespace boost::log::logging, so to solve the compile errors it should be enout to remove all occurances of logging:: from your code.

Hope that helps,

ZOPPO
0
 
Evan LiSr SW EngineerAuthor Commented:
Thank you very much,

I added following line:
namespace logging = boost::log;

This makes it to be build.
0
 
ZoppoCommented:
Hm - why do you want to delete this question? Didn't my comment correctly identify the problem you had?

ZOPPO
1
Cloud Class® Course: Ruby Fundamentals

This course will introduce you to Ruby, as well as teach you about classes, methods, variables, data structures, loops, enumerable methods, and finishing touches.

 
Evan LiSr SW EngineerAuthor Commented:
Yes, your comment helps. Thank you. Let me make your comment to be the best solution.
0
 
Evan LiSr SW EngineerAuthor Commented:
There is no way I can do it again.
0
 
ZoppoCommented:
Hi Evan Li,

here you can find how to handle cases like There was a mistake made when closing the question and awarding points: http://support.experts-exchange.com/customer/portal/articles/539391-the-request-attention-system 

Best regards,

ZOPPO
0
 
Evan LiSr SW EngineerAuthor Commented:
If you disagree with the way a question you participated in was closed, you can either post an Objection or Request Attention, depending on how the question was closed.
Can you post objection?
0
 
ZoppoCommented:
@Moderator: We agreed to not delete this question, could you please re-open it so Evan Li can select #a41822992 as answer?
0
 
Evan LiSr SW EngineerAuthor Commented:
Thanks. Close this question here
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.