namespace cpp {}

C++ lernen, kennen, anwenden

Benutzer-Werkzeuge

Webseiten-Werkzeuge


lernen:conan

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
lernen:conan [2023-10-09 13:24] – fmt-Beispiel entfernt rrichterlernen:conan [2023-10-09 16:14] (aktuell) – [Conan als Paketmanager] rrichter
Zeile 42: Zeile 42:
 ===== Conan als Paketmanager ===== ===== Conan als Paketmanager =====
  
-[[https://conan.io|Conan]] (Version 2) ist ein Paketmanager für C++-Bibliotheken, der unter Linux und Windows nutzbar ist. Die Datei ''conanfile.txt''+[[https://conan.io|Conan]] (Version 2.0) ist ein Paketmanager für C++-Bibliotheken, der unter Linux und Windows nutzbar ist. Die Datei ''conanfile.txt''
  
 <code - conanfile.txt> <code - conanfile.txt>
 [requires] [requires]
 doctest/2.4.11 doctest/2.4.11
 +fmt/10.1.1
  
 [generators] [generators]
Zeile 64: Zeile 65:
 cd build cd build
 conan install .. conan install ..
-cmake .. -DCMAKE_TOOLCHAIN_FILE=conan_paths.cmake+cmake .. -DCMAKE_TOOLCHAIN_FILE=conan_toolchain.cmake
 cmake --build . cmake --build .
 </code> </code>
Zeile 92: Zeile 93:
 </code> </code>
 Dieses Profil wird beim aktuellen Nutzer ''%%C:\Users\MyUsername%%'' unter ''%%.conan2\profiles%%'' hinterlegt. Compiler-Version, 32- oder 64bit-Architektur und andere Optionen sind je nach genutztem Compiler anzupassen. Dieses Profil wird beim aktuellen Nutzer ''%%C:\Users\MyUsername%%'' unter ''%%.conan2\profiles%%'' hinterlegt. Compiler-Version, 32- oder 64bit-Architektur und andere Optionen sind je nach genutztem Compiler anzupassen.
 +Nun ist im C++-Quelltext
  
 +<code cpp main.cpp>
 +#include <fmt/core.h>
 +
 +int sqr(int number) { return number * number; }
 +
 +int main()
 +{
 +    fmt::println("2*2 = {}", sqr(2));
 +}
 +</code>
 +auch die Nutzung der ''fmt''-Bibliothek möglich. Dazu wird ''CMakeLists.txt'' angepasst:
 +
 +<code - CMakeLists.txt>
 +cmake_minimum_required(VERSION 3.27)
 +project(cmake_fmt VERSION 0.0.1 LANGUAGES CXX)
 +
 +find_package(doctest REQUIRED)
 +find_package(fmt REQUIRED)
 +
 +add_executable(mytests main.test.cpp sqr.cpp)
 +target_compile_features(mytests PRIVATE cxx_std_23)
 +target_link_libraries(mytests PRIVATE doctest::doctest)
 +
 +add_executable(fmttest main.cpp)
 +target_compile_features(fmttest PRIVATE cxx_std_23)
 +target_link_libraries(fmttest PRIVATE fmt::fmt)
 +</code>
 +
 +Anmerkung: In C++23 kann die Funktion ''std:println()'' genutzt werden, ist in g++13.2 jedoch noch nicht implementiert.
lernen/conan.1696850664.txt.gz · Zuletzt geändert: 2023-10-09 13:24 von rrichter

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki