Ask for help. Boost Thread Problem with VS 2005

L

Lighter

#include <boost/thread/thread.hpp>
#include <iostream>

using namespace std;
using namespace boost;

void hello()
{
cout << "Hello world, I'm a thread!" << endl;
}

int main(int argc, char* argv[])
{
thread thrd(&hello);
thrd.join();

return 0;
}

===================

The above code cannot be compiled in VS 2005. The compiler reports an
error message "Threading support unavaliable: it has been explicitly
disabled with BOOST_DISABLE_THREADS", What's the cause?

Who know the solution to it? Thanks in advance. Any help is appreciated.
 
R

Robert J. Hansen

The above code cannot be compiled in VS 2005. The compiler reports an
error message "Threading support unavaliable: it has been explicitly
disabled with BOOST_DISABLE_THREADS", What's the cause?

I don't have an answer to your question, I'm sorry. I'm a UNIX geek,
so VS 2005 is something I don't pay any attention to. :(

However, you'll probably have better luck if you ask on a Microsoft or
Visual Studio-specific newsgroup. comp.lang.c++ is meant for questions
about the C++ ISO standard, not questions about specific compilers.

Good luck getting things fixed!
 
S

sonison.james

Lighter said:
#include <boost/thread/thread.hpp>
#include <iostream>

using namespace std;
using namespace boost;

void hello()
{
cout << "Hello world, I'm a thread!" << endl;
}

int main(int argc, char* argv[])
{
thread thrd(&hello);
thrd.join();

return 0;
}

===================

The above code cannot be compiled in VS 2005. The compiler reports an
error message "Threading support unavaliable: it has been explicitly
disabled with BOOST_DISABLE_THREADS", What's the cause?

Have you defined BOOST_DISABLE_THREADS in boost\config\user.hpp ?

-
SJ
 
G

Greg

Lighter said:
#include <boost/thread/thread.hpp>
#include <iostream>

using namespace std;
using namespace boost;

void hello()
{
cout << "Hello world, I'm a thread!" << endl;
}

int main(int argc, char* argv[])
{
thread thrd(&hello);
thrd.join();

return 0;
}

===================

The above code cannot be compiled in VS 2005. The compiler reports an
error message "Threading support unavaliable: it has been explicitly
disabled with BOOST_DISABLE_THREADS", What's the cause?

Who know the solution to it? Thanks in advance. Any help is appreciated.

Just read the boost thread documentation, particularly on
configuration:

http://boost.org/doc/html/thread/configuration.html#thread.configuration.implementation

According to the documentation, a VS project must include the
multithreaded version of the runtime in order to use boost threads.
Furthermore, the #include directives should be:

#include <boost/config.hpp>
#include <boost/thread.hpp>

Greg
 
M

mlimber

Greg said:
Lighter said:
#include <boost/thread/thread.hpp>
#include <iostream>

using namespace std;
using namespace boost;

void hello()
{
cout << "Hello world, I'm a thread!" << endl;
}

int main(int argc, char* argv[])
{
thread thrd(&hello);
thrd.join();

return 0;
}

===================

The above code cannot be compiled in VS 2005. The compiler reports an
error message "Threading support unavaliable: it has been explicitly
disabled with BOOST_DISABLE_THREADS", What's the cause?

Who know the solution to it? Thanks in advance. Any help is appreciated.

Just read the boost thread documentation, particularly on
configuration:

http://boost.org/doc/html/thread/configuration.html#thread.configuration.implementation

According to the documentation, a VS project must include the
multithreaded version of the runtime in order to use boost threads.

Right. That's the OP's problem.
Furthermore, the #include directives should be:

#include <boost/config.hpp>
#include <boost/thread.hpp>

You don't need to manually include <boost/config.hpp>, and the
top-level <boost/thread.hpp> pulls in all the parts of the thread
library, which the OP may not want or need. There's no problem
including just <boost/thread/thread.hpp>, as the author of the library
does in his examples, found here:

http://www.ddj.com/showArticle.jhtml?articleID=184401518

Cheers! --M
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,769
Messages
2,569,580
Members
45,055
Latest member
SlimSparkKetoACVReview

Latest Threads

Top