libtorrent неразрешенный внешний

Я получаю следующую ошибку, когда компилирую свою программу, которая ссылается на libtorrent.lib. Я пробовал компилировать libtorrent с разными настройками, пробовал включать/отключать DHT, устаревшие функции и т.д.

ошибка LNK2019: неразрешенный внешний символ "void __cdecl libtorrent::rel_performancetimer_pools_nolog_resolvecountries_deprecated_dht_ext_(void)"

Кто-нибудь здесь знаком с libtorrent или может кто-нибудь посоветовать, как избавиться от этой ошибки? Я не вижу других библиотек, на которые мне нужно ссылаться.

Заранее спасибо.


person Brad    schedule 14.08.2012    source источник
comment
возможный дубликат ошибка LNK2019: неразрешенный внешний символ общедоступен:   -  person Eitan T    schedule 15.08.2012


Ответы (2)


Я потратил два дня на это, и, наконец, я нашел проблему. Имя этой функции "void rel_performancetimer_pools_nolog_resolvecountries_deprecated_dht_ext_" состоит из частей, описывающих ваши текущие настройки. Например, dht_ означает, что вы используете DHT, а nolog_ означает, что вы отключили директиву TORRENT_LOGGING. Проблема в том, что эти настройки работают только с конфигурацией Release! rel_ означает выпуск_. На libtorrent 0.16.11 эта проблема так и не решена. Я поместил этот текст в файл build_config.hpp в строку 40:

#ifdef _DEBUG
#define TORRENT_DEBUG
#endif

Вот так скомпилирую мой проект с libtorrent в релизной и отладочной конфигурациях, не внося никаких исправлений. Арвид, пожалуйста, включите эти 3 строчки в вашу следующую версию libtorrent. Понравилось, Илья из России.

person user2765051    schedule 10.09.2013
comment
Арвид забыл заплатить за регистрацию DNS-имени. - person Prof. Falken; 11.09.2013
comment
Я добавил внутри дополнительное условие: #ifndef TORRENT_DEBUG... Это позволяет избежать предупреждений компилятора о переопределении TORRENT_DEBUG указанного в командной строке при сборке библиотеки. - person Nikmoon; 06.03.2017

Проблема заключалась в том, что мои определения в моем проекте не соответствовали конфигурации/определениям в компиляции libtorrent, поэтому некоторые макросы вызывали несуществующую функцию.

person Brad    schedule 14.08.2012