Взял первый пример HTTP сервера на официальном сайте Boost
add_executable(main main.cpp)
http::server::server::server
. Уже не знаю что делать
$ g++ -std=c++11 -g -fsanitize=undefined -fsanitize=address main.cc tools.cc -o test
$ ./test
==3245365==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x606000000060 at pc 0x55b559719b47 bp 0x7ffcc39300a0 sp 0x7ffcc3930098
READ of size 8 at 0x606000000060 thread T0
#0 0x55b559719b46 in Processor::encode(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) toster/1320980/main.cc:41
std::bitset<16> KR = K_array[i];
, цикл по i идёт до 9, а в массиве K_array 8 элементов. Не могу понять в чем дело
assert
использован текст с какими-то забавными символами. Два очевидных способа решения:assert
. Начать можно, например, выполнив вместо компиляции препроцессирование (заменив в командной строке вызова gcc -c
на -E
) и почитав внимательно препроцессированный код в местах на которые ругается компилятор. Собрал SFML из исходников…
main.cpp.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __cdecl sf::VideoMode::VideoMode(unsigned int,unsigned int,unsigned int)" (__imp_??0VideoMode@sf@@QEAA@III@Z) referenced in function main main.cpp.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: bool __cdecl sf::WindowBase::isOpen(void)const " (__imp_?isOpen@WindowBase@sf@@QEBA_NXZ) referenced in function main main.cpp.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: bool __cdecl sf::WindowBase::pollEvent(class sf::Event &)" (__imp_?pollEvent@WindowBase@sf@@QEAA_NAEAVEvent@2@@Z) referenced in function main main.cpp.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __cdecl sf::Window::Window(class sf::VideoMode,class sf::String const &,unsigned int,struct sf::ContextSettings const &)" (__imp_??0Window@sf@@QEAA@VVideoMode@1@AEBVString@1@IAEBUContextSettings@1@@Z) referenced in function main main.cpp.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: virtual __cdecl sf::Window::~Window(void)" (__imp_??1Window@sf@@UEAA@XZ) referenced in function main main.cpp.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: virtual void __cdecl sf::Window::close(void)" (__imp_?close@Window@sf@@UEAAXXZ) referenced in function main
Как мне организовать систему сборки, чтобы любой пользователь мог запустить приложения, имея .exe файл и папку data ( aka DATA_DIR )
Проект создаёт статическую библиотеку mylib, но в неё не включена требуемая реализация boost, то есть при линковке приложения с mylib нужно явно указывать, что нужно линковать boost.
pkg-config --libs <имя библиотеки>
и получает список ключей для линковки.