Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

Static library of whatever are seen required in general purpose but not directly supported from Modern C++. Or whatever reusable originated from my side projects.

License

NotificationsYou must be signed in to change notification settings

buck-yeh/bux

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Table of contents

  1. Make sure you have installedyay or any otherpacman wrapper

  2. yay -S bux
  3. To define target executablefoo usingbux inCMakeLists.txt

    add_executable(foo foo.cpp)target_compile_options(fooPRIVATE -std=c++2a)target_link_libraries(foo bux)
  4. Include the header files by prefixing header name withbux/, for example:

    #include<bux/Logger.h>

    p.s. Header files are in/usr/include/bux and compiler is expected to search/usr/include by default.

  5. If directly usinggcc orclang is intended, the required compiler flags are-std=c++23 -lbux

Build from github in MacOS or any ofLinux distros

  1. Make sure you have installed the following tools or the likes:

    • cmake(3.18 or newer)
    • make
    • gcc(13 or newer) orclang(usually thru installing xcode on MacOS)
    • git
  2. git clone https://github.com/buck-yeh/bux.gitcd buxcmake.make -jBUX_DIR="/full/path/to/current/dir"

    p.s. You can install a tagged version by replacingmain withtag name.

  3. To define target executablefoo usingbux inCMakeLists.txt

    add_executable(foo foo.cpp)target_compile_features(fooPRIVATE cxx_std_23)target_include_directories(fooPRIVATE"$env{BUX_DIR}/include")target_link_directories(fooPRIVATE"$env{BUX_DIR}/src")target_link_libraries(foo bux)
  4. Include the header files by prefixing header names withbux/, for example:

    #include<bux/Logger.h>
  5. If directly using commandgcc orclang is intended, the required compiler flags are-std=c++23 -I$BUX_DIR/include -L$BUX_DIR/src -lbux

  6. Subdirectorytest/ is excluded by default. To build with it, reconfigurecmake with:

    rm CMakeCache.txtcmake. -DBUILD_TEST=1make

    And test all of them:

    cdtestctest.

From vcpkg in Windows

  1. PS F:\vcpkg> .\vcpkg.exe search buxbuck-yeh-bux1.11.0           A supplemental C++ library with functionalities not directly supported fro...buck-yeh-bux-sqlite1.0.5            Modern C++ wrapper classes and utilities of the original sqlite3 APIThe result may be outdated. Run`git pull` to get the latest results.If your port is not listed, please open an issue at and/or consider making a pull request.-  https://github.com/Microsoft/vcpkg/issuesPS F:\vcpkg>
  2. Installbuck-yeh-bux with triplets you needed. For example:

    PS F:\vcpkg> .\vcpkg.exe install buck-yeh-bux:x64-windows-static
  3. Include the header files by prefixing header name withbux/, for example:

    #include<bux/Logger.h>

Header Intros

Containers

Input/Output

Logger

  • FileLog.h -bux::C_PathFmtLogSnap can be configured to automatically change the output path,IOW to output to different files, according to the current timestamp. The object is a plugin tobux::C_ReenterableOstreamSnap andbux::C_ParaLog
  • Logger.h - Log macros for various needs withsingletonbux::logger() in mind.
  • LogLevel.h - LL_FATAL, LL_ERROR, LL_WARNING, LL_INFO, LL_DEBUG, LL_VERBOSE
  • ParaLog.h -bux::C_ParaLog is a logger facade to reroute log lines to multiple child loggers
  • SyncLog.h - Basic classes to give variety ofthread-safe loggers.

Parser/scanner related

System

Thread Safety

Misc.

About

Static library of whatever are seen required in general purpose but not directly supported from Modern C++. Or whatever reusable originated from my side projects.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages


[8]ページ先頭

©2009-2025 Movatter.jp