Boost Instalacja

0

Wyszukiwarka nie działa, a google zawiodło (albo ja nie umiem szukać)
Próbuje od dwóch dni zainstalować boosta bez powodzenia.
Najpierw chciałem pod c::b zainstalować, więc ściągnąłem stąd http://www.boost.org/users/download/
gdzieś na tej stronie wyczytałem że wystarczy tylko uruchomić bootstrap.bat pod windowsem. Tak zrobiłem, przykładowy program się nie kompiluje. pozniej jednak znalazłem że trzeba więcej czynności wykonać (http://www.boost.org/doc/libs/1_51_0/doc/html/bbv2/installation.html)
lecz jak odpale w cmd tego bata to wychodzi taki błąd

Building Boost.Build engine
Nazwa 'cl' nie jest rozpoznawana jako polecenie wewnętrzne lub zewnętrzn
program wykonywalny lub plik wsadowy.

Failed to build Boost.Build engine.
Please consult bootstrap.log for furter diagnostics.

You can try to obtain a prebuilt binary from

http://sf.net/project/showfiles.php?group_id=7586&package_id=72941

Also, you can file an issue at http://svn.boost.org
Please attach bootstrap.log in that case.

link daje wersje do starego boosta więc odpada
No nic, wyczytałem gdzieś ze najpierw trzeba zbuildować. no ok robię według http://wiki.codeblocks.org/index.php?title=BoostWindowsQuickRef

z poziomu cmd nie mogłem dodać scieżki (odmowa dostępu mimo że jestme na adminie, nie wiem czego to wina). Więc zmienną środowiskową dodałem ręcznie

polecenie

bjam --toolset=gcc "--prefix=<installpath>" install

nie działa. Z tego co wyczytałem brakuje mu minGW (a to dziwne, skoro zainstalowanego mam c::b z minGW) no nic, instaluje ręcznie minGW konfiguruje chce odpalic... nadal to samo nie widzi go.

Zrezygnowany przesiadłem się na visuala 2008 express. Gdiześ wyczytałem że boostInstallerPro załatwi wszyściutko. No to odpalam go, ściagnałem wszystkie liby które mnie interesują. Skończylo mielić odpalam visuala... no niestety nie działa. No such file or directory

Próbowałem jeszcze innych różnych dziwnych rzeczy, ale ja już nie wiem co może pomóc...

ahh system operacyjny win 7 64 bit

0

http://www.boostpro.com/download/

Zamiast kompilowac samemu wszystko, sciagnij juz gotowe.

1

Bo trzeba projekt skonfigurowac pod zewnetrzne libki jeszcze. Od tak sobie nie zadziala. Jesli masz juz gotowe pliki naglowkowe i .dll to robisz tak.

user image

Potem ustawiasz.

Tu wazne zeby ustawic sciezke bezposrednio do calego folderu z boostem(na zdjeciu zle powinno byc bez boost ostatniego). On sobie znajdzie reszte.
user image

user image

Przykladowy kod:

// BoostTest.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"

#include <boost\foreach.hpp>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
	int tab[] = {1,2,3,4,5};
	BOOST_FOREACH(int i, tab) cout << i << " ";
	cout << endl;
	return 0;
}

Natomiast jesli budujesz sam, to nawet nie trzeba z lini polecen nic robic. Ja odpalalem 1 plik boostrap? czy jakos tak i po dlugim oczekiwaniu bylo ok ;)

0

ok, pomogło. DZIAŁA przykładowy.
Jeszcze jak już na fali jesteśmy to mógłbyś mi powiedzieć dwie rzeczy?

  1. jak zatrzymać konsole (żeby nie zamykał od razu) w visual studio? (nie chce sztucznych getcharow robic itd)
  2. Czy u Ciebie się kompiluje ten kod?
// Copyright (C) 2001-2003
// William E. Kempf
//
//  Distributed under the Boost Software License, Version 1.0. (See accompanying
//  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
#include "stdafx.h"
#include <boost/thread/thread.hpp>
#include <boost/thread/xtime.hpp>
#include <iostream>


struct thread_alarm
{
    thread_alarm(int secs) : m_secs(secs) { }
    void operator()()
    {
        boost::xtime xt;
        boost::xtime_get(&xt, boost::TIME_UTC_);
        xt.sec += m_secs;

        boost::thread::sleep(xt);

        std::cout << "alarm sounded..." << std::endl;
    }

    int m_secs;
};

int main()
{
    int secs = 5;
    std::cout << "setting alarm for 5 seconds..." << std::endl;
    thread_alarm alarm(secs);
    boost::thread thrd(alarm);
    thrd.join();
}
 

bo u mnie niestety pokazuję błąd linkera
1>LINK : fatal error LNK1104: cannot open file 'libboost_thread-vc90-mt-gd-1_51.lib'

  1. jak budowałem sam i uruchomiłem to jakieś krzaki powstawały. No nic, ważne że działa.
1

U mnie jest to samo. Wyglada mi to na blad wersji libki. Czym jest to spowodowane nie jestem pewien. Moze trzebaby nowsza wersje boosta, moze zalezne od tego czy x86 czy x64. Ciezko powiedziec.

Przy VS2012 mi wywala wersje vc110, a posiadam vc100.

Z tego co tu http://landoftheninja.blogspot.com/2011/12/visual-c-11-and-boost-pt-2.html
napisal wyglada na to ze biblioteki zostaly zbudowane pod inna wersje visuala. Trzebaby zmienic dane w plikach tak jak pokazuje i przebudowywac pod nowszy zestaw narzedzi.

Edit. Gotowy installer niestety nie uwzglednial jeszcze VS2012 z tego co widzialem.

Ps. Visual sam powinien zatrzymac konsole. Jesli tego nie robi to opcji jest duzo. cin.get(), getchar(), system("pause")...

0

akuratnie sciagnałem vs2008 express edition i buildowałem pod tą wersje. Ważne że działa, to że nie wszystko to już jakoś przeboleje lub się z tym uporam ;). Dzięki jeszcze raz
Zatrzymywanie konsoli przez getchar,system("pause") itd. itp. mi nie odpowiada ;) a niestety sam nie zatrzymuje

1 użytkowników online, w tym zalogowanych: 0, gości: 1