Я построил Boost v1.67, построенный с этими флагами: < /p>
Код: Выделить всё
link=static address-model=64 variant=release threading=multi
set( target_name stacktrace_test)
# boost
set(Boost_USE_STATIC_LIBS ON)
find_package( Boost REQUIRED COMPONENTS date_time filesystem thread
system stacktrace_windbg)
add_executable(${target_name} main.cpp)
set_property(TARGET ${target_name} PROPERTY CXX_STANDARD 14 )
target_compile_definitions(${target_name} PUBLIC
BOOST_ALL_NO_LIB=1 # disable pragama inclusion
BOOST_STACKTRACE_LINK=1
BOOST_STACKTRACE_USE_WINDBG=1
)
target_include_directories(${target_name} SYSTEM PUBLIC
${Boost_INCLUDE_DIRS}
)
target_link_libraries(${target_name}
${Boost_LIBRARIES} # boost
dbgeng
ole32
)
< /code>
Вот мой код, основанный на странице Boost Stactrace.#include
#include // ::signal, ::raise
#include
#include
void handler(int signum)
{
::signal(signum, SIG_DFL);
size_t result = boost::stacktrace::safe_dump_to("./backtrace.dump");
std::cout
Подробнее здесь: https://stackoverflow.com/questions/510 ... -msvs-2017
Мобильная версия