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:03] rrichterlernen:conan [2023-10-09 16:14] (aktuell) – [Conan als Paketmanager] rrichter
Zeile 34: Zeile 34:
 target_compile_features(mytests PRIVATE cxx_std_23) target_compile_features(mytests PRIVATE cxx_std_23)
 target_link_libraries(mytests PRIVATE doctest::doctest) target_link_libraries(mytests PRIVATE doctest::doctest)
- 
-enable_testing()  
-add_test(NAME my_test_suite COMMAND mytests) 
-# run ctest [--verbose]  
 </code> </code>
 bindet die durch ''findpackage()'' gefundene Bibliothek in das Programm ein. bindet die durch ''findpackage()'' gefundene Bibliothek in das Programm ein.
Zeile 46: 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 68: 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 98: Zeile 95:
 Nun ist im C++-Quelltext Nun ist im C++-Quelltext
  
-<code cpp>+<code cpp main.cpp>
 #include <fmt/core.h> #include <fmt/core.h>
 +
 +int sqr(int number) { return number * number; }
  
 int main() int main()
 { {
-    fmt::print("2*2 = {}", sqr(2));+    fmt::println("2*2 = {}", sqr(2));
 } }
 </code> </code>
Zeile 112: Zeile 111:
 project(cmake_fmt VERSION 0.0.1 LANGUAGES CXX) project(cmake_fmt VERSION 0.0.1 LANGUAGES CXX)
  
 +find_package(doctest REQUIRED)
 find_package(fmt REQUIRED) find_package(fmt REQUIRED)
  
-add_executable(fmttest main.cpp sqr.cpp) +add_executable(mytests main.test.cpp sqr.cpp) 
-target_compile_features(fmttest PRIVATE cxx_std_20)+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) target_link_libraries(fmttest PRIVATE fmt::fmt)
 </code> </code>
  
 +Anmerkung: In C++23 kann die Funktion ''std:println()'' genutzt werden, ist in g++13.2 jedoch noch nicht implementiert.
lernen/conan.1696849382.txt.gz · Zuletzt geändert: 2023-10-09 13:03 von rrichter

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki