Skip to content

Instantly share code, notes, and snippets.

@uilianries
Created February 11, 2026 07:25
Show Gist options
  • Select an option

  • Save uilianries/a2ff376affff60d2f696c50ede3cd83d to your computer and use it in GitHub Desktop.

Select an option

Save uilianries/a2ff376affff60d2f696c50ede3cd83d to your computer and use it in GitHub Desktop.
Drogon with Conan example
======== Input profiles ========
Profile host:
[settings]
arch=x86_64
build_type=Release
compiler=gcc
compiler.cppstd=gnu20
compiler.libcxx=libstdc++11
compiler.version=13
os=Linux
[conf]
tools.build:compiler_executables={'c': '/usr/bin/gcc-13', 'cpp': '/usr/bin/g++-13'}
tools.build:verbosity=verbose
tools.cmake.cmaketoolchain:generator=Ninja
tools.compilation:verbosity=verbose
tools.system.package_manager:mode=install
tools.system.package_manager:sudo=true
Profile build:
[settings]
arch=x86_64
build_type=Release
compiler=gcc
compiler.cppstd=gnu17
compiler.libcxx=libstdc++11
compiler.version=11
os=Linux
[conf]
tools.build:verbosity=verbose
tools.cmake.cmaketoolchain:generator=Ninja
tools.compilation:verbosity=verbose
tools.system.package_manager:mode=install
tools.system.package_manager:sudo=true
======== Computing dependency graph ========
Graph root
conanfile.py: /tmp/tmp.xwaJTqwuqW/conanfile.py
Requirements
boost/1.83.0#3989436c24399e15c01ab4bf165703da - Cache
bzip2/1.0.8#c470882369c2d95c5c77e970c0c7e321 - Cache
c-ares/1.25.0#c44402161e02e465a74d2020d683dd7a - Cache
drogon/1.9.12#96b80e06f194cad772a38b4763f00532 - Cache
jsoncpp/1.9.5#9415a4cf4d2e8965408f3a01a8339b48 - Cache
libbacktrace/cci.20210118#a7691bfccd8caaf66309df196790a5a1 - Cache
openssl/3.6.1#2e0be4a996c7ca91feb31b7fe65117b9 - Cache
trantor/1.5.26#130e8500d656a048d7d3ea7d999a266b - Cache
util-linux-libuuid/2.39.2#62d79af1952b4edc2dfaaffd614fe4a3 - Cache
zlib/1.3.1#cac0f6daea041b0ccf42934163defb20 - Cache
Build requirements
b2/5.4.2#ffd6084a119587e70f11cd45d1a386e2 - Cache
boost/1.83.0#3989436c24399e15c01ab4bf165703da - Cache
bzip2/1.0.8#c470882369c2d95c5c77e970c0c7e321 - Cache
c-ares/1.25.0#c44402161e02e465a74d2020d683dd7a - Cache
drogon/1.9.12#96b80e06f194cad772a38b4763f00532 - Cache
jsoncpp/1.9.5#9415a4cf4d2e8965408f3a01a8339b48 - Cache
libbacktrace/cci.20210118#a7691bfccd8caaf66309df196790a5a1 - Cache
openssl/3.6.1#2e0be4a996c7ca91feb31b7fe65117b9 - Cache
trantor/1.5.26#130e8500d656a048d7d3ea7d999a266b - Cache
util-linux-libuuid/2.39.2#62d79af1952b4edc2dfaaffd614fe4a3 - Cache
zlib/1.3.1#cac0f6daea041b0ccf42934163defb20 - Cache
Resolved version ranges
b2/[>=5.2 <6]: b2/5.4.2
openssl/[>=1.1 <4]: openssl/3.6.1
trantor/[>=1.5.25 <2]: trantor/1.5.26
zlib/[>=1.2.11 <2]: zlib/1.3.1
======== Computing necessary packages ========
Connecting to remote 'conancenter' anonymously
jsoncpp/1.9.5: Main binary package 'ae8bbfde471a4ef9ad5c9a444af7dc967e124f44' missing
jsoncpp/1.9.5: Checking 11 compatible configurations
jsoncpp/1.9.5: Found compatible package '838c313f1b7acdfd23b222f0156e7c264dcc2515': compiler.cppstd=gnu17
jsoncpp/1.9.5: Main binary package '8631cf963dbbb4d7a378a64a6fd1dc57558bc2fe' missing
jsoncpp/1.9.5: Checking 11 compatible configurations
jsoncpp/1.9.5: Found compatible package '13be611585c95453f1cbbd053cea04b3e64470ca': compiler.cppstd=17
boost/1.83.0: Main binary package 'aa56db315dc6b16dfd2cb09ea59fb1bd87d734ce' missing
boost/1.83.0: Checking 9 compatible configurations
boost/1.83.0: Found compatible package '41436e4c1ac04655d0ea869a5a23e93f4f89fd4f': compiler.cppstd=gnu17
drogon/1.9.12: Main binary package '6fa4be401cb75988984ab783f025b8fc189a5b6e' missing
drogon/1.9.12: Checking 5 compatible configurations
drogon/1.9.12: Found compatible package '4eb648407ec3147b5fc0fe995dedb78a2e2d5638': compiler.cppstd=gnu17
Requirements
boost/1.83.0#3989436c24399e15c01ab4bf165703da:41436e4c1ac04655d0ea869a5a23e93f4f89fd4f#adc7a3abd588a8ab682c28ff7294149a - Cache
bzip2/1.0.8#c470882369c2d95c5c77e970c0c7e321:432d7695adc526147073285e155d2ca0340bc76d#133f71a59b79de7c74a2c3af9cb9bc7b - Cache
c-ares/1.25.0#c44402161e02e465a74d2020d683dd7a:47c145dd28f761c25e8f32653b9212608868cf79#bfc60a4fb05cb7ccfb473c7a80562ac6 - Cache
drogon/1.9.12#96b80e06f194cad772a38b4763f00532:4eb648407ec3147b5fc0fe995dedb78a2e2d5638#d13667d81ec320fb47062180b3785237 - Cache
jsoncpp/1.9.5#9415a4cf4d2e8965408f3a01a8339b48:838c313f1b7acdfd23b222f0156e7c264dcc2515#960ee83d5e02464f66ed50fb3c809587 - Cache
libbacktrace/cci.20210118#a7691bfccd8caaf66309df196790a5a1:c81087b06d1a5beef0ad711fc32d45f7a425a8f3#3bb49ca4eb3a1ffca9b5c9509c79d237 - Cache
openssl/3.6.1#2e0be4a996c7ca91feb31b7fe65117b9:e1e5437fbafc0588bdcff97c905793e695877ac3#183e3ca9c7e7a8cf369347fdb8cccf8e - Cache
trantor/1.5.26#130e8500d656a048d7d3ea7d999a266b:7b2c1ee91b70cc30e8e659ddf7ab8ae1d707501a#0c7c93e5a440d422ac94102a15a3d1f5 - Cache
util-linux-libuuid/2.39.2#62d79af1952b4edc2dfaaffd614fe4a3:220aad7bc22b3351f5d4809cba4b7abbc4cae73a#a38d2b3290213df19177dc1456857d09 - Cache
zlib/1.3.1#cac0f6daea041b0ccf42934163defb20:c81087b06d1a5beef0ad711fc32d45f7a425a8f3#d3a7706ae25c74b78bafbb0b63cb5dcf - Cache
Build requirements
drogon/1.9.12#96b80e06f194cad772a38b4763f00532:affaba24824eafafdbc63d9a71adcc93ebb07f53#3c0f3a3399f9a038e78012f6a9bfe273 - Cache
Skipped binaries
b2/5.4.2, boost/1.83.0, bzip2/1.0.8, c-ares/1.25.0, jsoncpp/1.9.5, libbacktrace/cci.20210118, openssl/3.6.1, trantor/1.5.26, util-linux-libuuid/2.39.2, zlib/1.3.1
======== Installing packages ========
bzip2/1.0.8: Already installed! (1 of 11)
c-ares/1.25.0: Already installed! (2 of 11)
jsoncpp/1.9.5: Already installed! (3 of 11)
libbacktrace/cci.20210118: Already installed! (4 of 11)
util-linux-libuuid/2.39.2: Already installed! (5 of 11)
zlib/1.3.1: Already installed! (6 of 11)
boost/1.83.0: Already installed! (7 of 11)
openssl/3.6.1: Already installed! (8 of 11)
trantor/1.5.26: Already installed! (9 of 11)
drogon/1.9.12: Already installed! (10 of 11)
drogon/1.9.12: Already installed! (11 of 11)
WARN: deprecated: Usage of deprecated Conan 1.X features that will be removed in Conan 2.X:
WARN: deprecated: 'cpp_info.names' used in: boost/1.83.0, bzip2/1.0.8, trantor/1.5.26
WARN: deprecated: 'cpp_info.build_modules' used in: bzip2/1.0.8, jsoncpp/1.9.5
WARN: deprecated: 'env_info' used in: boost/1.83.0, bzip2/1.0.8
WARN: deprecated: 'cpp_info.filenames' used in: boost/1.83.0
WARN: deprecated: 'user_info' used in: boost/1.83.0
======== Finalizing install (deploy, generators) ========
conanfile.py: Writing generators to /tmp/tmp.xwaJTqwuqW/build/Release/generators
conanfile.py: Generator 'CMakeDeps' calling 'generate()'
conanfile.py: CMakeDeps necessary find_package() and targets for your CMakeLists.txt
find_package(Drogon)
target_link_libraries(... Drogon::Drogon)
conanfile.py: Generator 'CMakeToolchain' calling 'generate()'
conanfile.py: CMakeToolchain generated: conan_toolchain.cmake
conanfile.py: CMakeToolchain: Preset 'conan-release' added to CMakePresets.json.
(cmake>=3.23) cmake --preset conan-release
(cmake<3.23) cmake <path> -G Ninja -DCMAKE_TOOLCHAIN_FILE=generators/conan_toolchain.cmake -DCMAKE_POLICY_DEFAULT_CMP0091=NEW -DCMAKE_BUILD_TYPE=Release
conanfile.py: CMakeToolchain generated: /tmp/tmp.xwaJTqwuqW/build/Release/generators/CMakePresets.json
conanfile.py: CMakeToolchain generated: /tmp/tmp.xwaJTqwuqW/CMakeUserPresets.json
conanfile.py: Generating aggregated env files
conanfile.py: Generated aggregated env files: ['conanbuild.sh', 'conanrun.sh']
Install finished successfully
-----------------
CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
Compatibility with CMake < 3.10 will be removed from a future version of
CMake.
Update the VERSION argument <min> value. Or, use the <min>...<max> syntax
to tell CMake that the project requires at least <min> but has been updated
to work with policies introduced by <max> or earlier.
Preset CMake variables:
CMAKE_BUILD_TYPE="Release"
CMAKE_POLICY_DEFAULT_CMP0091="NEW"
CMAKE_TOOLCHAIN_FILE:FILEPATH="generators/conan_toolchain.cmake"
Preset environment variables:
DYLD_LIBRARY_PATH="/home/uilian/.conan2/p/b/drogo9e67448d0f2eb/p/lib:"
LD_LIBRARY_PATH="/home/uilian/.conan2/p/b/drogo9e67448d0f2eb/p/lib:"
PATH="/home/uilian/.conan2/p/b/drogo9e67448d0f2eb/p/bin:/opt/pyenv/versions/3.12.4/bin:/opt/pyenv/libexec:/opt/pyenv/plugins/python-build/bin:/opt/pyenv/plugins/pyenv-virtualenv/bin:/opt/pyenv/plugins/pyenv-update/bin:/opt/pyenv/plugins/pyenv-installer/bin:/opt/pyenv/plugins/pyenv-doctor/bin:/opt/pyenv/shims:/opt/pyenv/bin:/home/uilian/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin"
-- Using Conan toolchain: /tmp/tmp.xwaJTqwuqW/build/Release/generators/conan_toolchain.cmake
-- Conan toolchain: Defining architecture flag: -m64
-- Conan toolchain: C++ Standard 20 with extensions ON
-- The CXX compiler identification is GNU 13.1.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/g++-13 - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Conan: Target declared 'Drogon::Drogon'
-- Conan: Library drogon found /home/uilian/.conan2/p/drogo3ff2050bef073/p/lib/libdrogon.a
-- Conan: Found: /home/uilian/.conan2/p/drogo3ff2050bef073/p/lib/libdrogon.a
-- Conan: Target declared 'Trantor::Trantor'
-- Conan: Library trantor found /home/uilian/.conan2/p/b/trante54bd05b086e3/p/lib/libtrantor.a
-- Conan: Found: /home/uilian/.conan2/p/b/trante54bd05b086e3/p/lib/libtrantor.a
-- Conan: Component target declared 'c-ares::cares'
-- Conan: Library cares found /home/uilian/.conan2/p/c-area3fcd00194045/p/lib/libcares.a
-- Conan: Found: /home/uilian/.conan2/p/c-area3fcd00194045/p/lib/libcares.a
-- Conan: Library cares found /home/uilian/.conan2/p/c-area3fcd00194045/p/lib/libcares.a
-- Conan: Found: /home/uilian/.conan2/p/c-area3fcd00194045/p/lib/libcares.a
-- Conan: Component target declared 'OpenSSL::Crypto'
-- Conan: Component target declared 'OpenSSL::SSL'
-- Conan: Target declared 'openssl::openssl'
-- Conan: Library ssl found /home/uilian/.conan2/p/opensbaa576ceaa566/p/lib/libssl.a
-- Conan: Found: /home/uilian/.conan2/p/opensbaa576ceaa566/p/lib/libssl.a
-- Conan: Library crypto found /home/uilian/.conan2/p/opensbaa576ceaa566/p/lib/libcrypto.a
-- Conan: Found: /home/uilian/.conan2/p/opensbaa576ceaa566/p/lib/libcrypto.a
-- Conan: Library ssl found /home/uilian/.conan2/p/opensbaa576ceaa566/p/lib/libssl.a
-- Conan: Found: /home/uilian/.conan2/p/opensbaa576ceaa566/p/lib/libssl.a
-- Conan: Library crypto found /home/uilian/.conan2/p/opensbaa576ceaa566/p/lib/libcrypto.a
-- Conan: Found: /home/uilian/.conan2/p/opensbaa576ceaa566/p/lib/libcrypto.a
-- Conan: Target declared 'ZLIB::ZLIB'
-- Conan: Library z found /home/uilian/.conan2/p/zlib76e00a316e585/p/lib/libz.a
-- Conan: Found: /home/uilian/.conan2/p/zlib76e00a316e585/p/lib/libz.a
-- Conan: Including build module from '/home/uilian/.conan2/p/opensbaa576ceaa566/p/lib/cmake/conan-official-openssl-variables.cmake'
-- Conan: Target declared 'JsonCpp::JsonCpp'
-- Conan: Library jsoncpp found /home/uilian/.conan2/p/jsonc1274ddbeaa8b9/p/lib/libjsoncpp.a
-- Conan: Found: /home/uilian/.conan2/p/jsonc1274ddbeaa8b9/p/lib/libjsoncpp.a
-- Conan: Target declared 'libuuid::libuuid'
-- Conan: Library uuid found /home/uilian/.conan2/p/util-fdbad8830e13e/p/lib/libuuid.a
-- Conan: Found: /home/uilian/.conan2/p/util-fdbad8830e13e/p/lib/libuuid.a
-- Conan: Component target declared 'Boost::diagnostic_definitions'
-- Conan: Component target declared 'Boost::disable_autolinking'
-- Conan: Component target declared 'Boost::dynamic_linking'
-- Conan: Component target declared 'Boost::headers'
-- Conan: Component target declared 'Boost::boost'
-- Conan: Component target declared 'boost::_libboost'
-- Conan: Component target declared 'Boost::atomic'
-- Conan: Component target declared 'Boost::container'
-- Conan: Component target declared 'Boost::context'
-- Conan: Component target declared 'Boost::date_time'
-- Conan: Component target declared 'Boost::exception'
-- Conan: Component target declared 'Boost::math'
-- Conan: Component target declared 'Boost::program_options'
-- Conan: Component target declared 'Boost::regex'
-- Conan: Component target declared 'Boost::serialization'
-- Conan: Component target declared 'Boost::stacktrace'
-- Conan: Component target declared 'Boost::system'
-- Conan: Component target declared 'Boost::timer'
-- Conan: Component target declared 'Boost::chrono'
-- Conan: Component target declared 'Boost::coroutine'
-- Conan: Component target declared 'Boost::filesystem'
-- Conan: Component target declared 'Boost::json'
-- Conan: Component target declared 'Boost::math_c99'
-- Conan: Component target declared 'Boost::math_c99f'
-- Conan: Component target declared 'Boost::math_c99l'
-- Conan: Component target declared 'Boost::math_tr1'
-- Conan: Component target declared 'Boost::math_tr1f'
-- Conan: Component target declared 'Boost::math_tr1l'
-- Conan: Component target declared 'Boost::random'
-- Conan: Component target declared 'Boost::stacktrace_addr2line'
-- Conan: Component target declared 'Boost::stacktrace_backtrace'
-- Conan: Component target declared 'Boost::stacktrace_basic'
-- Conan: Component target declared 'Boost::stacktrace_noop'
-- Conan: Component target declared 'Boost::test'
-- Conan: Component target declared 'Boost::url'
-- Conan: Component target declared 'Boost::wserialization'
-- Conan: Component target declared 'Boost::fiber'
-- Conan: Component target declared 'Boost::graph'
-- Conan: Component target declared 'Boost::iostreams'
-- Conan: Component target declared 'Boost::nowide'
-- Conan: Component target declared 'Boost::prg_exec_monitor'
-- Conan: Component target declared 'Boost::test_exec_monitor'
-- Conan: Component target declared 'Boost::thread'
-- Conan: Component target declared 'Boost::wave'
-- Conan: Component target declared 'Boost::contract'
-- Conan: Component target declared 'Boost::fiber_numa'
-- Conan: Component target declared 'Boost::locale'
-- Conan: Component target declared 'Boost::log'
-- Conan: Component target declared 'Boost::type_erasure'
-- Conan: Component target declared 'Boost::unit_test_framework'
-- Conan: Component target declared 'Boost::log_setup'
-- Conan: Target declared 'boost::boost'
-- Conan: Library boost_log_setup found /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_log_setup.a
-- Conan: Found: /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_log_setup.a
-- Conan: Library boost_unit_test_framework found /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_unit_test_framework.a
-- Conan: Found: /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_unit_test_framework.a
-- Conan: Library boost_type_erasure found /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_type_erasure.a
-- Conan: Found: /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_type_erasure.a
-- Conan: Library boost_log found /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_log.a
-- Conan: Found: /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_log.a
-- Conan: Library boost_locale found /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_locale.a
-- Conan: Found: /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_locale.a
-- Conan: Library boost_fiber_numa found /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_fiber_numa.a
-- Conan: Found: /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_fiber_numa.a
-- Conan: Library boost_contract found /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_contract.a
-- Conan: Found: /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_contract.a
-- Conan: Library boost_wave found /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_wave.a
-- Conan: Found: /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_wave.a
-- Conan: Library boost_thread found /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_thread.a
-- Conan: Found: /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_thread.a
-- Conan: Library boost_test_exec_monitor found /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_test_exec_monitor.a
-- Conan: Found: /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_test_exec_monitor.a
-- Conan: Library boost_prg_exec_monitor found /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_prg_exec_monitor.a
-- Conan: Found: /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_prg_exec_monitor.a
-- Conan: Library boost_nowide found /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_nowide.a
-- Conan: Found: /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_nowide.a
-- Conan: Library boost_iostreams found /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_iostreams.a
-- Conan: Found: /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_iostreams.a
-- Conan: Library boost_graph found /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_graph.a
-- Conan: Found: /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_graph.a
-- Conan: Library boost_fiber found /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_fiber.a
-- Conan: Found: /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_fiber.a
-- Conan: Library boost_wserialization found /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_wserialization.a
-- Conan: Found: /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_wserialization.a
-- Conan: Library boost_url found /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_url.a
-- Conan: Found: /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_url.a
-- Conan: Library boost_stacktrace_noop found /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_stacktrace_noop.a
-- Conan: Found: /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_stacktrace_noop.a
-- Conan: Library boost_stacktrace_basic found /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_stacktrace_basic.a
-- Conan: Found: /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_stacktrace_basic.a
-- Conan: Library boost_stacktrace_backtrace found /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_stacktrace_backtrace.a
-- Conan: Found: /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_stacktrace_backtrace.a
-- Conan: Library boost_stacktrace_addr2line found /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_stacktrace_addr2line.a
-- Conan: Found: /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_stacktrace_addr2line.a
-- Conan: Library boost_random found /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_random.a
-- Conan: Found: /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_random.a
-- Conan: Library boost_math_tr1l found /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_math_tr1l.a
-- Conan: Found: /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_math_tr1l.a
-- Conan: Library boost_math_tr1f found /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_math_tr1f.a
-- Conan: Found: /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_math_tr1f.a
-- Conan: Library boost_math_tr1 found /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_math_tr1.a
-- Conan: Found: /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_math_tr1.a
-- Conan: Library boost_math_c99l found /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_math_c99l.a
-- Conan: Found: /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_math_c99l.a
-- Conan: Library boost_math_c99f found /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_math_c99f.a
-- Conan: Found: /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_math_c99f.a
-- Conan: Library boost_math_c99 found /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_math_c99.a
-- Conan: Found: /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_math_c99.a
-- Conan: Library boost_json found /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_json.a
-- Conan: Found: /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_json.a
-- Conan: Library boost_filesystem found /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_filesystem.a
-- Conan: Found: /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_filesystem.a
-- Conan: Library boost_coroutine found /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_coroutine.a
-- Conan: Found: /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_coroutine.a
-- Conan: Library boost_chrono found /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_chrono.a
-- Conan: Found: /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_chrono.a
-- Conan: Library boost_timer found /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_timer.a
-- Conan: Found: /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_timer.a
-- Conan: Library boost_serialization found /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_serialization.a
-- Conan: Found: /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_serialization.a
-- Conan: Library boost_regex found /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_regex.a
-- Conan: Found: /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_regex.a
-- Conan: Library boost_program_options found /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_program_options.a
-- Conan: Found: /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_program_options.a
-- Conan: Library boost_exception found /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_exception.a
-- Conan: Found: /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_exception.a
-- Conan: Library boost_date_time found /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_date_time.a
-- Conan: Found: /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_date_time.a
-- Conan: Library boost_context found /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_context.a
-- Conan: Found: /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_context.a
-- Conan: Library boost_container found /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_container.a
-- Conan: Found: /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_container.a
-- Conan: Library boost_atomic found /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_atomic.a
-- Conan: Found: /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_atomic.a
-- Conan: Library boost_log_setup found /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_log_setup.a
-- Conan: Found: /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_log_setup.a
-- Conan: Library boost_unit_test_framework found /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_unit_test_framework.a
-- Conan: Found: /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_unit_test_framework.a
-- Conan: Library boost_type_erasure found /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_type_erasure.a
-- Conan: Found: /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_type_erasure.a
-- Conan: Library boost_log found /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_log.a
-- Conan: Found: /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_log.a
-- Conan: Library boost_locale found /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_locale.a
-- Conan: Found: /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_locale.a
-- Conan: Library boost_fiber_numa found /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_fiber_numa.a
-- Conan: Found: /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_fiber_numa.a
-- Conan: Library boost_contract found /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_contract.a
-- Conan: Found: /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_contract.a
-- Conan: Library boost_wave found /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_wave.a
-- Conan: Found: /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_wave.a
-- Conan: Library boost_thread found /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_thread.a
-- Conan: Found: /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_thread.a
-- Conan: Library boost_test_exec_monitor found /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_test_exec_monitor.a
-- Conan: Found: /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_test_exec_monitor.a
-- Conan: Library boost_prg_exec_monitor found /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_prg_exec_monitor.a
-- Conan: Found: /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_prg_exec_monitor.a
-- Conan: Library boost_nowide found /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_nowide.a
-- Conan: Found: /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_nowide.a
-- Conan: Library boost_iostreams found /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_iostreams.a
-- Conan: Found: /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_iostreams.a
-- Conan: Library boost_graph found /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_graph.a
-- Conan: Found: /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_graph.a
-- Conan: Library boost_fiber found /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_fiber.a
-- Conan: Found: /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_fiber.a
-- Conan: Library boost_wserialization found /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_wserialization.a
-- Conan: Found: /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_wserialization.a
-- Conan: Library boost_url found /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_url.a
-- Conan: Found: /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_url.a
-- Conan: Library boost_stacktrace_noop found /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_stacktrace_noop.a
-- Conan: Found: /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_stacktrace_noop.a
-- Conan: Library boost_stacktrace_basic found /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_stacktrace_basic.a
-- Conan: Found: /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_stacktrace_basic.a
-- Conan: Library boost_stacktrace_backtrace found /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_stacktrace_backtrace.a
-- Conan: Found: /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_stacktrace_backtrace.a
-- Conan: Library boost_stacktrace_addr2line found /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_stacktrace_addr2line.a
-- Conan: Found: /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_stacktrace_addr2line.a
-- Conan: Library boost_random found /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_random.a
-- Conan: Found: /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_random.a
-- Conan: Library boost_math_tr1l found /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_math_tr1l.a
-- Conan: Found: /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_math_tr1l.a
-- Conan: Library boost_math_tr1f found /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_math_tr1f.a
-- Conan: Found: /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_math_tr1f.a
-- Conan: Library boost_math_tr1 found /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_math_tr1.a
-- Conan: Found: /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_math_tr1.a
-- Conan: Library boost_math_c99l found /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_math_c99l.a
-- Conan: Found: /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_math_c99l.a
-- Conan: Library boost_math_c99f found /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_math_c99f.a
-- Conan: Found: /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_math_c99f.a
-- Conan: Library boost_math_c99 found /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_math_c99.a
-- Conan: Found: /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_math_c99.a
-- Conan: Library boost_json found /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_json.a
-- Conan: Found: /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_json.a
-- Conan: Library boost_filesystem found /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_filesystem.a
-- Conan: Found: /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_filesystem.a
-- Conan: Library boost_coroutine found /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_coroutine.a
-- Conan: Found: /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_coroutine.a
-- Conan: Library boost_chrono found /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_chrono.a
-- Conan: Found: /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_chrono.a
-- Conan: Library boost_timer found /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_timer.a
-- Conan: Found: /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_timer.a
-- Conan: Library boost_serialization found /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_serialization.a
-- Conan: Found: /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_serialization.a
-- Conan: Library boost_regex found /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_regex.a
-- Conan: Found: /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_regex.a
-- Conan: Library boost_program_options found /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_program_options.a
-- Conan: Found: /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_program_options.a
-- Conan: Library boost_exception found /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_exception.a
-- Conan: Found: /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_exception.a
-- Conan: Library boost_date_time found /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_date_time.a
-- Conan: Found: /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_date_time.a
-- Conan: Library boost_context found /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_context.a
-- Conan: Found: /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_context.a
-- Conan: Library boost_container found /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_container.a
-- Conan: Found: /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_container.a
-- Conan: Library boost_atomic found /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_atomic.a
-- Conan: Found: /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_atomic.a
-- Conan: Target declared 'BZip2::BZip2'
-- Conan: Library bz2 found /home/uilian/.conan2/p/bzip29db013e43a5ba/p/lib/libbz2.a
-- Conan: Found: /home/uilian/.conan2/p/bzip29db013e43a5ba/p/lib/libbz2.a
-- Conan: Including build module from '/home/uilian/.conan2/p/bzip29db013e43a5ba/p/lib/cmake/conan-official-bzip2-variables.cmake'
-- Conan: Target declared 'libbacktrace::libbacktrace'
-- Conan: Library backtrace found /home/uilian/.conan2/p/libba8423dde0707eb/p/lib/libbacktrace.a
-- Conan: Found: /home/uilian/.conan2/p/libba8423dde0707eb/p/lib/libbacktrace.a
-- Conan: Including build module from '/home/uilian/.conan2/p/drogo3ff2050bef073/p/lib/cmake/Drogon/DrogonUtilities.cmake'
-- Conan: Including build module from '/home/uilian/.conan2/p/drogo3ff2050bef073/p/lib/cmake/Drogon/ParseAndAddDrogonTests.cmake'
-- Configuring done (0.2s)
-- Generating done (0.0s)
-- Build files have been written to: /tmp/tmp.xwaJTqwuqW/build/Release
-----------------
Change Dir: '/tmp/tmp.xwaJTqwuqW/build/Release'
Run Build Command(s): /usr/local/bin/ninja -v -j 12
[1/4] cd /tmp/tmp.xwaJTqwuqW && drogon_ctl create view HelloView.csp -o /tmp/tmp.xwaJTqwuqW/build/Release
create view:HelloView.csp
create HttpView Class file by HelloView.csp
className=HelloView
[2/4] /usr/bin/g++-13 -DBOOST_STACKTRACE_ADDR2LINE_LOCATION=\"/usr/bin/addr2line\" -DBOOST_STACKTRACE_USE_ADDR2LINE -DBOOST_STACKTRACE_USE_BACKTRACE -DBOOST_STACKTRACE_USE_NOOP -DCARES_STATICLIB -isystem /home/uilian/.conan2/p/drogo3ff2050bef073/p/include -isystem /home/uilian/.conan2/p/b/trante54bd05b086e3/p/include -isystem /home/uilian/.conan2/p/opensbaa576ceaa566/p/include -isystem /home/uilian/.conan2/p/zlib76e00a316e585/p/include -isystem /home/uilian/.conan2/p/jsonc1274ddbeaa8b9/p/include -isystem /home/uilian/.conan2/p/boostab44fa555d627/p/include -isystem /home/uilian/.conan2/p/libba8423dde0707eb/p/include -m64 -O3 -DNDEBUG -std=gnu++20 -MD -MT CMakeFiles/drogon_example.dir/HelloView.cc.o -MF CMakeFiles/drogon_example.dir/HelloView.cc.o.d -o CMakeFiles/drogon_example.dir/HelloView.cc.o -c /tmp/tmp.xwaJTqwuqW/build/Release/HelloView.cc
[3/4] /usr/bin/g++-13 -DBOOST_STACKTRACE_ADDR2LINE_LOCATION=\"/usr/bin/addr2line\" -DBOOST_STACKTRACE_USE_ADDR2LINE -DBOOST_STACKTRACE_USE_BACKTRACE -DBOOST_STACKTRACE_USE_NOOP -DCARES_STATICLIB -isystem /home/uilian/.conan2/p/drogo3ff2050bef073/p/include -isystem /home/uilian/.conan2/p/b/trante54bd05b086e3/p/include -isystem /home/uilian/.conan2/p/opensbaa576ceaa566/p/include -isystem /home/uilian/.conan2/p/zlib76e00a316e585/p/include -isystem /home/uilian/.conan2/p/jsonc1274ddbeaa8b9/p/include -isystem /home/uilian/.conan2/p/boostab44fa555d627/p/include -isystem /home/uilian/.conan2/p/libba8423dde0707eb/p/include -m64 -O3 -DNDEBUG -std=gnu++20 -MD -MT CMakeFiles/drogon_example.dir/main.cpp.o -MF CMakeFiles/drogon_example.dir/main.cpp.o.d -o CMakeFiles/drogon_example.dir/main.cpp.o -c /tmp/tmp.xwaJTqwuqW/main.cpp
[4/4] : && /usr/bin/g++-13 -m64 -O3 -DNDEBUG -m64 CMakeFiles/drogon_example.dir/main.cpp.o CMakeFiles/drogon_example.dir/HelloView.cc.o -o drogon_example -L/home/uilian/.conan2/p/drogo3ff2050bef073/p/lib -L/home/uilian/.conan2/p/b/trante54bd05b086e3/p/lib -L/home/uilian/.conan2/p/c-area3fcd00194045/p/lib -L/home/uilian/.conan2/p/opensbaa576ceaa566/p/lib -L/home/uilian/.conan2/p/zlib76e00a316e585/p/lib -L/home/uilian/.conan2/p/jsonc1274ddbeaa8b9/p/lib -L/home/uilian/.conan2/p/util-fdbad8830e13e/p/lib -L/home/uilian/.conan2/p/boostab44fa555d627/p/lib -L/home/uilian/.conan2/p/bzip29db013e43a5ba/p/lib -L/home/uilian/.conan2/p/libba8423dde0707eb/p/lib -Wl,-rpath,/home/uilian/.conan2/p/drogo3ff2050bef073/p/lib:/home/uilian/.conan2/p/b/trante54bd05b086e3/p/lib:/home/uilian/.conan2/p/c-area3fcd00194045/p/lib:/home/uilian/.conan2/p/opensbaa576ceaa566/p/lib:/home/uilian/.conan2/p/zlib76e00a316e585/p/lib:/home/uilian/.conan2/p/jsonc1274ddbeaa8b9/p/lib:/home/uilian/.conan2/p/util-fdbad8830e13e/p/lib:/home/uilian/.conan2/p/boostab44fa555d627/p/lib:/home/uilian/.conan2/p/bzip29db013e43a5ba/p/lib:/home/uilian/.conan2/p/libba8423dde0707eb/p/lib /home/uilian/.conan2/p/drogo3ff2050bef073/p/lib/libdrogon.a /home/uilian/.conan2/p/b/trante54bd05b086e3/p/lib/libtrantor.a /home/uilian/.conan2/p/c-area3fcd00194045/p/lib/libcares.a /home/uilian/.conan2/p/jsonc1274ddbeaa8b9/p/lib/libjsoncpp.a -lm /home/uilian/.conan2/p/opensbaa576ceaa566/p/lib/libssl.a /home/uilian/.conan2/p/opensbaa576ceaa566/p/lib/libcrypto.a /home/uilian/.conan2/p/util-fdbad8830e13e/p/lib/libuuid.a /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_log_setup.a /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_unit_test_framework.a /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_type_erasure.a /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_log.a /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_locale.a /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_fiber_numa.a /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_contract.a /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_wave.a /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_thread.a /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_test_exec_monitor.a /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_prg_exec_monitor.a /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_nowide.a /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_iostreams.a /home/uilian/.conan2/p/bzip29db013e43a5ba/p/lib/libbz2.a /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_graph.a /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_fiber.a /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_wserialization.a /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_url.a /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_stacktrace_noop.a /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_stacktrace_basic.a /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_stacktrace_backtrace.a /home/uilian/.conan2/p/libba8423dde0707eb/p/lib/libbacktrace.a /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_stacktrace_addr2line.a -ldl /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_random.a /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_math_tr1l.a /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_math_tr1f.a /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_math_tr1.a /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_math_c99l.a /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_math_c99f.a /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_math_c99.a /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_json.a /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_filesystem.a /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_coroutine.a /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_chrono.a /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_timer.a /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_serialization.a /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_regex.a /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_program_options.a /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_exception.a /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_date_time.a /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_context.a /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_container.a /home/uilian/.conan2/p/boostab44fa555d627/p/lib/libboost_atomic.a -lrt -lpthread /home/uilian/.conan2/p/zlib76e00a316e585/p/lib/libz.a && :
#!/bin/bash
conan install . --build=missing
cmake --preset conan-release -DCMAKE_VERBOSE_MAKEFILE=ON
cmake --build --preset conan-release
cmake_minimum_required(VERSION 3.15)
project(drogon_example LANGUAGES CXX)
find_package(Drogon CONFIG REQUIRED)
add_executable(${PROJECT_NAME} main.cpp)
drogon_create_views(${PROJECT_NAME}
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_BINARY_DIR})
target_link_libraries(${PROJECT_NAME} PRIVATE Drogon::Drogon)
from conan import ConanFile
from conan.tools.cmake import cmake_layout
class DrogonExampleConan(ConanFile):
settings = "os", "compiler", "build_type", "arch"
generators = "CMakeDeps", "CMakeToolchain"
def build_requirements(self):
self.tool_requires("drogon/<host_version>", options={"with_ctl": True})
def requirements(self):
self.requires("drogon/1.9.12")
def layout(self):
cmake_layout(self)
<!DOCTYPE html>
<html>
<%c++
auto name=@@.get<std::string>("name");
bool nameIsEmpty = name == "";
if (nameIsEmpty)
name = "anonymous";
auto message = "Hello, " + name + " from a CSP template";
%>
<head>
<meta charset="UTF-8">
<title>[[ name ]]</title>
</head>
<body>
<%c++ $$<<message; %>
<%c++
if (nameIsEmpty)
{
$$ << "<br>"
<< "You can revisit the same page and append ?name=<i>your_name</i> to change the name";
}
%>
</body>
</html>
#include <trantor/utils/Logger.h>
#ifdef _WIN32
#include <ws2tcpip.h>
#else
#include <netinet/tcp.h>
#include <sys/socket.h>
#endif
#include <drogon/drogon.h>
using namespace drogon;
int main()
{
// `registerHandler()` adds a handler to the desired path. The handler is
// responsible for generating a HTTP response upon an HTTP request being
// sent to Drogon
app().registerHandler(
"/",
[](const HttpRequestPtr &request,
std::function<void(const HttpResponsePtr &)> &&callback) {
LOG_INFO << "connected:"
<< (request->connected() ? "true" : "false");
auto resp = HttpResponse::newHttpResponse();
resp->setBody("Hello, World!");
callback(resp);
},
{Get});
// `registerHandler()` also supports parsing and passing the path as
// parameters to the handler. Parameters are specified using {}. The text
// inside the {} does not correspond to the index of parameter passed to the
// handler (nor it has any meaning). Instead, it is only to make it easier
// for users to recognize the function of each parameter.
app().registerHandler(
"/user/{user-name}",
[](const HttpRequestPtr &,
std::function<void(const HttpResponsePtr &)> &&callback,
const std::string &name) {
auto resp = HttpResponse::newHttpResponse();
resp->setBody("Hello, " + name + "!");
callback(resp);
},
{Get});
// You can also specify that the parameter is in the query section of the
// URL!
app().registerHandler(
"/hello?user={user-name}",
[](const HttpRequestPtr &,
std::function<void(const HttpResponsePtr &)> &&callback,
const std::string &name) {
auto resp = HttpResponse::newHttpResponse();
resp->setBody("Hello, " + name + "!");
callback(resp);
},
{Get});
// Or, if you want to, instead of asking drogon to parse it for you. You can
// parse the request yourselves.
app().registerHandler(
"/hello_user",
[](const HttpRequestPtr &req,
std::function<void(const HttpResponsePtr &)> &&callback) {
auto resp = HttpResponse::newHttpResponse();
auto name = req->getOptionalParameter<std::string>("user");
if (!name)
resp->setBody("Please tell me your name");
else
resp->setBody("Hello, " + name.value() + "!");
callback(resp);
},
{Get});
app()
.setBeforeListenSockOptCallback([](int fd) {
LOG_INFO << "setBeforeListenSockOptCallback:" << fd;
#ifdef _WIN32
#elif __linux__
int enable = 1;
if (setsockopt(
fd, IPPROTO_TCP, TCP_FASTOPEN, &enable, sizeof(enable)) ==
-1)
{
LOG_INFO << "setsockopt TCP_FASTOPEN failed";
}
#else
#endif
})
.setAfterAcceptSockOptCallback([](int) {});
// Ask Drogon to listen on 127.0.0.1 port 8848. Drogon supports listening
// on multiple IP addresses by adding multiple listeners. For example, if
// you want the server also listen on 127.0.0.1 port 5555. Just add another
// line of addListener("127.0.0.1", 5555)
LOG_INFO << "Server running on 127.0.0.1:8848";
app().addListener("127.0.0.1", 8848).run();
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment