Frage

Ich bin kein erfahrener Programmierer. Ich habe versucht, einen Teil des Boosts zu senken, und füge ihn direkt in mein Projekt ein, eine C ++ - Lösung in Visual Studio 2010. Ich habe es so gemacht:

    .
  • Unkomplizierte Boost-Bibliothek
  • bootstrap.bat
  • bjam tools/bcd - Dies erstellte DIR . \ bin.v2 \ tools \ bcp \ msvc-10.0 \ release \ link-static \ threading-multi \
  • Ändern Sie die oben erwähnte Änderung
  • Ich habe ein Skript zum Scannen aller Dateien in der Lösung geschrieben, das Ergebnis ist:
    Noncopyable Static_assert-Verhältnis-Threads / -schlüsse Thread-Chrono-Interprozess / Mappart_Region-Thread / recursiv_mutex CRC CSTDint Interprocess / File_Mapping Make_Shared Shared_PTR lexical_cast
  • bcp --boost=C:\Users\xxxxxxxx\boost_1_49_0 noncopyable static_assert ratio thread/locks thread chrono interprocess/mapped_region thread/recursive_mutex crc cstdint interprocess/file_mapping make_shared shared_ptr lexical_cast lexical_cast ./myboost
  • kopieren ./ myboost in Lösung, einrichten Eigenschaften, alles funktioniert gut, bis ich nicht versuche, #include "steigern / chrono.hpp" (zB #include "Boost / Lexical_cast.hpp "Ist in Ordnung).
  • boost / chrono.hpp verursacht Linkerfehler:

    3> spielmain.obj: Fehler LNK2001: UnrarelT Externes Symbol "Klasse Boost :: System :: error_category const & __cDecl Boost :: System :: system_category (void)" (? system_category @ System @ Boost @@ yaabverror_category @ 12 @Xz)

    3> spielmain.obj: Fehler LNK2001: Ungerugsdulöses externes Symbol "Klasse Boost :: System :: system :: generic_category (void)" (? generic_category @ system @ boost @@ yaabverror_category @ 12 @Xz)


    Verwenden Sie BCP richtig?
    Was soll ich tun, um es zu arbeiten?

War es hilfreich?

Lösung

Der Prozess zur Installation von Boost zur Verwendung mit Visual Studio wird ziemlich eindeutig ausgeschrieben hier . Sie sollten keine Installationsskripts schreiben.

Es ist wichtig zu wissen, dass die meisten Boost-Bibliotheken-Header-nur (z. B. boost.lexical_cast) nur (z. B. boost.lexical_cast) sind. Einige verlangen, dass Sie jedoch mit einer statischen Bibliothek (z. B. POOST.System) verbunden werden. Sehen Sie dieses Abschnitt des Erste Schritte Dokuments, wie es Visual Studio lässt, wodurch die statischen Bibliotheken der statischen Bibliotheken steigern.

Dies Abschnitt Listen, welche Bibliotheken nicht nur nur Header sind. Einige Bibliotheken (wie boost.chrono und boost.asio) sind selbst Header-nur, aber sie hängen von Boost.System ab, der in Ihr Programm verknüpft werden muss.

hoffe das hilft.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top