[ crnjin @ 19.05.2011. 14:24 ] @
za ovaj ko :

Code:
#include <iostream>

#include <boost/threadpool.hpp>

using namespace std;
using namespace boost::threadpool;

// Some example tasks
void first_task()
{
   cout << "first task is running\n" ;
}

void second_task()
{
   cout << "second task is running\n" ;
}

int main(int argc,char *argv[])
{
   // Create fifo thread pool container with two threads.
   pool tp(2);
   
   // Add some tasks to the pool.
   tp.schedule(&first_task);
   tp.schedule(&second_task);   
  
   //  Wait until all tasks are finished.
   tp.wait();
   
   // Now all tasks are finished!    
   return(0);
}


potrebni su mi heder fajlovi iz foldera boost . Pokusao sam sa dir boost koji se nalazi u threadpool-0_2_5-doc.zip na http://threadpool.sourceforge.net/
ali sam uvideo da nemam sve potrebne heder fajlove u njemu. Skinuo sam boost sa http://sourceforge.net/projects/boost/files/boost/1.46.1/

Visual Studio mi ne dozvoljava da kopiram ceo folder u Header Files a kad ih ubacujem jedan po jedan (ima ih mali milion!) uvek bude fatallError ...

Neko da pomogne ??
[ Mihajlo Cvetanović @ 19.05.2011. 14:38 ] @
Neka ti čitav boost bude na jednom mestu, recimo C:\Libraries, i onda u Visual Studiu navedi putanju do tog mesta (Tools > Options > Project and Solutions > VC++ Directories > Include files)
[ crnjin @ 19.05.2011. 14:54 ] @
Ne radi :( ...

Ceo Boost mi je na jedno mestu , probao sam ovo i kao sve prodje ali nigde mi ne prikazuje taj folder.
Boost treba da mi bude u HeaderFiles ali tu dozvoljava da dodajem fajlove a za foldere se buni
[ Mihajlo Cvetanović @ 19.05.2011. 15:04 ] @
Ko sme da se buni? I još važnije, KAKO se buni (šta kaže)?

Šta tačno znači "sve prođe, ali ne prikazuje folder"? Budi jasniji, molim. Otkud ovo HeaderFiles (dve reči bez razmaka), kad je poslednja sekcija koju treba odabrati "Include files" (druga reč, i ima razmak)?
[ Mihajlo Cvetanović @ 19.05.2011. 15:13 ] @
Čekaj malo. Threadpool nije deo boosta, nego ti je boost potreban da bi mogao da koristiš threadpool. Treba ti i jedno i drugo. Nije lepo od kreatora što su zagazili u namespace boost.
[ crnjin @ 19.05.2011. 15:20 ] @
Mislim na Header Files u Solution Explorer-u ... Kada uradim sve sto si napisao on mi doda to ispod u LIstBox ili sta je vec ...
prikaze ga kao C:\boost_1_46_1\boost_1_46_1\boost medju Include Directories ... ali mi ga i dalje nema ovamo u Header Files ...

A to buni ... U VS 6.0 Kad probam da prevucem ceo folder boost on mi javi Access Denid , dok u VS 2008 prekopira samo fajlove , a podfoldere ne ...

Izvini ako ti nisam bas dobro objasnio ali ne vidim kako bih drugacije ...
[ deerbeer @ 19.05.2011. 15:27 ] @
Kao sto ti je Mihajlo rekao threadpool nije deo boosta nego zasebna biblioteka .
Najbolje je da ceo threadpool folder iskopiras u ostale podfolder boost direktorijuma (tamo gde si instalirao) i jednostavno ga inkludujes .
Nesto si tu zbrckao pa bi najbolje bilo ispocetka da krenes ..

[ crnjin @ 19.05.2011. 15:37 ] @
Idealno bi bilo kad bi dir boost koji sam nasao u threadpool-0_2_5-doc.zip na http://threadpool.sourceforge.net/

samo prevukao u Header Files (iako nema sve hedere koji mi trebaju) ali to ne moze ... pa sam ja probao vestacki , dodam New Folder u Header Files , dam mu ime boost pa u njega iskopiram threadpool.hpp i folder threadpool(folder napravim na isti nacin jer ne moze da se iskopira) i tom folderu sve fajlove sa .hpp ekstenzijom i folder detail(na isti nacin) , u folder detail ubacim sve .hpp fajlove koji treba da budu u njmu . E sad nastaje problem jer treba da kreiram folder detail u boost-u ali ... glup VS 6.0 ne dozvoljava da se isto zove jer ga vec imam u threadpool-u vec ga preimenuje u detail No1 tako nesto. a ja onda to moram da ispravim u gomili hedera !

struktura trba da ide ovako

Header Files -> boost -> detail -> hederi u njemu
-> threadpool - > detail -> hederi u njemu
threadpool.hpp gomila hedera ispod

a pored toga nemam sve header fajlove u ovom boost-u nego moram da skinem drugi tezak 80MB (aveo sam gore odakle) da ga dopunim !!
[ Mihajlo Cvetanović @ 19.05.2011. 15:50 ] @
Uglavnom nesporazumi mogu da nastanu ako postaviš pitanje i dobiješ odgovor, i onda ignorišeš odgovor i žališ se na problem koji je proistekao iz samostalnog pokušaja da rešiš problem (a pritom ne spomeneš da novi problem nema veze sa pruženim odgovorom na prethodni problem).

Elem, nemoj da ubacuješ fajlove iz boosta u tvoj projekat. To nije rešenje. Treba samo da podesiš samo jednu putanju u Visual Studiu, a ne da se mučiš sa pojedinačnim fajlovima.
[ deerbeer @ 19.05.2011. 16:01 ] @
Al si ga zakomplikovao ...
threadpool.hpp treba da se nalazi u rootu :
otprilike ovako : C:\Program Files\boost\boost_1_35_0\boost i ovu putanju treba da dodas u include putanje u visual studio (Mihajlo ti je dole u postu naveo )
Onda ceo folder threadpoola iskopiras u taj direktorijum zajedno sa ostalim podfolderima i inkludujes
sa
Code:

#include <boost/threadpool.hpp>

i ovaj hpp fajl inkluduje sve zivo iz podfoldera threadpool koji si iskopirao .
E da bi headeri u tom podfolderu videli boost hedere moras da dodas include putanju u vs - u .
[ crnjin @ 19.05.2011. 21:39 ] @
Nisam ignorisao Mihajlov odgovor , nego ga sam uradio tako i nije dalo rezultate ... (mozda sam negde pogresio)
pa sam pokusao blize da objasnim , ali je ispalo konfuzno ...
Evo sad ispravite me gde gresim , sad sam kuci , imam Visual Studio 2010 :

Skinuo threadpool-0_2_5-doc.zip sa http://threadpool.sourceforge.net/
Skinuo boost_1_46_1.zip sa http://sourceforge.net/projects/boost/files/boost/1.46.1/

U otpakovao to u C:\1 sad je tu folder boost_1_46_1 (C:\1\boost_1_46_1)...

Kreirao win32 console applicattion (ime projekta rad) u istom folderu (C:\1)...
u rad.cpp kopirao quickstart.cpp iz C:\Users\M A R K O\Desktop\threadpool-0_2_5-src\threadpool-0_2_5-src\threadpool\libs\threadpool\quickstart
znaci kod sad izgleda ovako:

Code:
#include <iostream>
#include "stdafx.h"
#include <boost/threadpool.hpp>

using namespace std;
using namespace boost::threadpool;

// Some example tasks
void first_task()
{
    cout << "first task is running\n" ;
}

void second_task()
{
    cout << "second task is running\n" ;
}

int main(int argc,char *argv[])
{
    // Create fifo thread pool container with two threads.
    pool tp(2);

    // Add some tasks to the pool.
    tp.schedule(&first_task);
    tp.schedule(&second_task);   

    //  Wait until all tasks are finished.
    tp.wait();

    // Now all tasks are finished!    
    return(0);
}


u folder C:\1\boost_1_46_1\boost koirao threadpool.hpp i ceo folder threadpool.

Tu putanju koju pominjete dodao na sledeci nacin :

rclick na projekat u Solution Exploreru pa Configuration Properties -> C/C++ -> General i onda desno Additional Include Directories
u polju Resolve #using References dodao C:\1\boost_1_46_1\boost;%(AdditionalUsingDirectories)

probam da pokrenem i bude
error C1083: Cannot open include file: 'boost/threadpool.hpp': No such file or directory


Nadam se da sam sad dovoljno dobro obajasnio problem ... Zao mi je ako smaram ali prvi put ovako ucitavam heder fajlove
Pa mi recite gde gresim ili sta treba jos da uradim
[ crnjin @ 19.05.2011. 23:36 ] @
ne u polju Resolve #using References nego u Additional Include Directories ... !!

ali opet ne radi
[ crnjin @ 20.05.2011. 00:18 ] @
Ipak sam uspeo sa hederima :) ... Sad me samo zeza Linker

kaze : error LNK1104: cannot open file 'libboost_thread-vc100-mt-gd-1_46_1.lib' a ovog fajla nigde nema
Mozda ujutru resim to , sad mi bas ne radi mozak ... valjda sam se i umorio

ovde sam nasao nesto pametno , sto mi je pomoglo :

http://stackoverflow.com/questions/601268/visual-c-include-files-from-other-projects-in-the-same-solution


[ Texas Instruments @ 20.05.2011. 01:41 ] @
Treba da iskompajliraš boost biblioteke. Idi u folder gde si raspakovao boost_1_46_1 i pokreni bootstrap.bat fajl, a kada se to izvrši pokreni bjam.exe. To će potrajati malo duže dok sve iskomapjlira. Nakon toga u svoj projekat u podešavanju za linker u kartici general naći ćeš Additional Library Dependencies i tu navedi putanju boost_1_46_1\stage\lib.
To bi bilo sve. Meni radi ovo, ako bude problema viči. :)
[ crnjin @ 20.05.2011. 09:23 ] @
Uradio sve sto je rekao Texas Instruments i dobijam ovo

LINK : fatal error LNK1104: cannot open file 'C:\Documents.obj'
[ Texas Instruments @ 20.05.2011. 10:30 ] @
Uf, hajde ovako. :)
Moja podešavanja su sledeća.
Boost biblioteka je raspakovana na d:\ disk, dakle putanja je d:\boost_1_46_1\. Tu sam pokrenuo bootstrap.bat, pa onda bjam.exe i sačekao da sve to završi.
Biblioteka threadpool-0_2_5-src je isto na d:\ disku, dakle putanja je d:\threadpool-0_2_5-src\.

U VS2010 sam napravio novi projekat, Win32 Console Application, štiklirao Empty project! (dakle bez precompiled header).
Dodao sam ovaj fajl što si napisao, i prekopirao kod.
Zatim desnim klikom na projekat otišao u properties i u C/C++ kartici dodao putanje D:\threadpool-0_2_5-src\threadpool i D:\boost_1_46_1 u Additional Include Directories.
U kartici Precompiled Headers postavio Precompiled Headers na Not Using Precompiled Headers.
U Linker kartici u Additional Library Directories dodao putanju D:\boost_1_46_1\stage\lib i to bi bilo sve od podešavanja.
[ crnjin @ 20.05.2011. 10:51 ] @
Ok uradio si malo drigacije ali je sustina ista . Ja sam samo kopirao threadpool iz threadpool-0_2_5-src u moj boost , i sve je to proslo ali sad se Linker pravi pametan

1>LINK : fatal error LNK1104: cannot open file 'libboost_thread-vc90-mt-sgd-1_46_1.lib'


is stvarno u boost_1_46_1\stage\lib nemam ovaj fajl , imam

libboost_thread-vc90-mt
libboost_thread-vc90-mt-1_46_1
libboost_thread-vc90-mt-gd
libboost_thread-vc90-mt-gd-1_46_1


ali ovaj 'libboost_thread-vc90-mt-sgd-1_46_1 nema !

Mislio sam da sam slucajno prekinuo izvrsavanje bjam.exe pa sam ga ponovo pokrenu i uradio je sve isto ...
[ deerbeer @ 20.05.2011. 11:43 ] @
Kod kompajliranja statickih lib biblioteka je veoma vazno kako linkujes CRT (c runtime ) biblioteke otud su imena razlicita tj u sufiksu
Pogledaj ovde : http://widera.com.pl/boosting-mainmenu-14.html


[ crnjin @ 20.05.2011. 22:31 ] @
Proradilo mi je ovo danas ali nisam stigao da odgovorim ...

Morao sam ponovo da otpakujem bjam.exe

bjam --toolset=msvc --build-type=complete --prefix="c:\boost"

ovo je sa linka koji je deerbeer postavio u postu...

Hvala svima ! Zaista ne znam sta bih bez vas :)