Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 5.00/13: Рейтинг темы: голосов - 13, средняя оценка - 5.00
 Аватар для Mars_36
1 / 1 / 0
Регистрация: 05.12.2017
Сообщений: 33

Как собрать c_toxcore под windows?

16.05.2021, 14:10. Показов 2720. Ответов 21
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Пробую собрать toxcore из этого репозитория https://github.com/TokTok/c-toxcore/tree/v0.2.12
в инструкции по компиляции сказано, что нужно разместить зависимости такие как libsodium и pthreads-win32 в папку third_party. Скачал уже скомпилированные либы и закинул их в указанные места. Далее делаю все по инструкции
Code
1
2
3
4
mkdir _build
cd _build
cmake ..
msbuild ALL_BUILD.vcxproj
CMake успешно сконфигурировал проект. Но при запуске сборки вылетают такие ошибки


Кликните здесь для просмотра всего текста

Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
"F:\git\c-toxcore\_build\ALL_BUILD.vcxproj" (default target) (1) ->
"F:\git\c-toxcore\_build\DHT_bootstrap.vcxproj" (default target) (3) ->
(Link target) ->
  toxcore.lib(mono_time.obj) : error LNK2019: ссылка на неразрешенный внешний символ __imp_pthread_mutex_init в функции
 mono_time_new. [F:\git\c-toxcore\_build\DHT_bootstrap.vcxproj]
  toxcore.lib(util.obj) : error LNK2001: неразрешенный внешний символ __imp_pthread_mutex_init. [F:\git\c-toxcore\_buil
d\DHT_bootstrap.vcxproj]
  toxcore.lib(tox.obj) : error LNK2001: неразрешенный внешний символ __imp_pthread_mutex_init. [F:\git\c-toxcore\_build
\DHT_bootstrap.vcxproj]
  toxcore.lib(net_crypto.obj) : error LNK2001: неразрешенный внешний символ __imp_pthread_mutex_init. [F:\git\c-toxcore
\_build\DHT_bootstrap.vcxproj]
  toxcore.lib(mono_time.obj) : error LNK2019: ссылка на неразрешенный внешний символ __imp_pthread_mutex_destroy в функ
ции mono_time_free. [F:\git\c-toxcore\_build\DHT_bootstrap.vcxproj]
  toxcore.lib(tox.obj) : error LNK2001: неразрешенный внешний символ __imp_pthread_mutex_destroy. [F:\git\c-toxcore\_bu
ild\DHT_bootstrap.vcxproj]
  toxcore.lib(net_crypto.obj) : error LNK2001: неразрешенный внешний символ __imp_pthread_mutex_destroy. [F:\git\c-toxc
ore\_build\DHT_bootstrap.vcxproj]
  toxcore.lib(mono_time.obj) : error LNK2019: ссылка на неразрешенный внешний символ __imp_pthread_mutex_lock в функции
 mono_time_update. [F:\git\c-toxcore\_build\DHT_bootstrap.vcxproj]
  toxcore.lib(tox.obj) : error LNK2001: неразрешенный внешний символ __imp_pthread_mutex_lock. [F:\git\c-toxcore\_build
\DHT_bootstrap.vcxproj]
  toxcore.lib(net_crypto.obj) : error LNK2001: неразрешенный внешний символ __imp_pthread_mutex_lock. [F:\git\c-toxcore
\_build\DHT_bootstrap.vcxproj]
  toxcore.lib(mono_time.obj) : error LNK2019: ссылка на неразрешенный внешний символ __imp_pthread_mutex_unlock в функц
ии mono_time_update. [F:\git\c-toxcore\_build\DHT_bootstrap.vcxproj]
  toxcore.lib(tox.obj) : error LNK2001: неразрешенный внешний символ __imp_pthread_mutex_unlock. [F:\git\c-toxcore\_bui
ld\DHT_bootstrap.vcxproj]
  toxcore.lib(net_crypto.obj) : error LNK2001: неразрешенный внешний символ __imp_pthread_mutex_unlock. [F:\git\c-toxco
re\_build\DHT_bootstrap.vcxproj]
  toxcore.lib(mono_time.obj) : error LNK2019: ссылка на неразрешенный внешний символ __imp_pthread_rwlock_init в функци
и mono_time_new. [F:\git\c-toxcore\_build\DHT_bootstrap.vcxproj]
  toxcore.lib(mono_time.obj) : error LNK2019: ссылка на неразрешенный внешний символ __imp_pthread_rwlock_destroy в фун
кции mono_time_free. [F:\git\c-toxcore\_build\DHT_bootstrap.vcxproj]
  toxcore.lib(mono_time.obj) : error LNK2019: ссылка на неразрешенный внешний символ __imp_pthread_rwlock_rdlock в функ
ции mono_time_get. [F:\git\c-toxcore\_build\DHT_bootstrap.vcxproj]
  toxcore.lib(mono_time.obj) : error LNK2019: ссылка на неразрешенный внешний символ __imp_pthread_rwlock_wrlock в функ
ции mono_time_update. [F:\git\c-toxcore\_build\DHT_bootstrap.vcxproj]
  toxcore.lib(mono_time.obj) : error LNK2019: ссылка на неразрешенный внешний символ __imp_pthread_rwlock_unlock в функ
ции mono_time_update. [F:\git\c-toxcore\_build\DHT_bootstrap.vcxproj]
  toxcore.lib(network.obj) : error LNK2019: ссылка на неразрешенный внешний символ __imp_sodium_init в функции networki
ng_at_startup. [F:\git\c-toxcore\_build\DHT_bootstrap.vcxproj]
  toxcore.lib(util.obj) : error LNK2019: ссылка на неразрешенный внешний символ __imp_pthread_mutexattr_init в функции
create_recursive_mutex. [F:\git\c-toxcore\_build\DHT_bootstrap.vcxproj]
  toxcore.lib(tox.obj) : error LNK2001: неразрешенный внешний символ __imp_pthread_mutexattr_init. [F:\git\c-toxcore\_b
uild\DHT_bootstrap.vcxproj]
  toxcore.lib(util.obj) : error LNK2019: ссылка на неразрешенный внешний символ __imp_pthread_mutexattr_destroy в функц
ии create_recursive_mutex. [F:\git\c-toxcore\_build\DHT_bootstrap.vcxproj]
  toxcore.lib(util.obj) : error LNK2019: ссылка на неразрешенный внешний символ __imp_pthread_mutexattr_settype в функц
ии create_recursive_mutex. [F:\git\c-toxcore\_build\DHT_bootstrap.vcxproj]
  toxcore.lib(tox.obj) : error LNK2001: неразрешенный внешний символ __imp_pthread_mutexattr_settype. [F:\git\c-toxcore
\_build\DHT_bootstrap.vcxproj]
  toxcore.lib(crypto_core_mem.obj) : error LNK2019: ссылка на неразрешенный внешний символ __imp_sodium_memzero в функц
ии crypto_memzero. [F:\git\c-toxcore\_build\DHT_bootstrap.vcxproj]
  toxcore.lib(crypto_core_mem.obj) : error LNK2019: ссылка на неразрешенный внешний символ __imp_sodium_memcmp в функци
и crypto_memcmp. [F:\git\c-toxcore\_build\DHT_bootstrap.vcxproj]
  toxcore.lib(crypto_core.obj) : error LNK2019: ссылка на неразрешенный внешний символ __imp_crypto_hash_sha512 в функц
ии crypto_sha512. [F:\git\c-toxcore\_build\DHT_bootstrap.vcxproj]
  toxcore.lib(crypto_core.obj) : error LNK2019: ссылка на неразрешенный внешний символ __imp_crypto_hash_sha256 в функц
ии crypto_sha256. [F:\git\c-toxcore\_build\DHT_bootstrap.vcxproj]
  toxcore.lib(crypto_core.obj) : error LNK2019: ссылка на неразрешенный внешний символ __imp_crypto_box_keypair в функц
ии crypto_new_keypair. [F:\git\c-toxcore\_build\DHT_bootstrap.vcxproj]
  toxcore.lib(crypto_core.obj) : error LNK2019: ссылка на неразрешенный внешний символ __imp_crypto_box_beforenm в функ
ции encrypt_precompute. [F:\git\c-toxcore\_build\DHT_bootstrap.vcxproj]
  toxcore.lib(crypto_core.obj) : error LNK2019: ссылка на неразрешенный внешний символ __imp_crypto_box_afternm в функц
ии encrypt_data_symmetric. [F:\git\c-toxcore\_build\DHT_bootstrap.vcxproj]
  toxcore.lib(crypto_core.obj) : error LNK2019: ссылка на неразрешенный внешний символ __imp_crypto_box_open_afternm в
функции decrypt_data_symmetric. [F:\git\c-toxcore\_build\DHT_bootstrap.vcxproj]
  toxcore.lib(crypto_core.obj) : error LNK2019: ссылка на неразрешенный внешний символ __imp_crypto_scalarmult_curve255
19_base в функции crypto_derive_public_key. [F:\git\c-toxcore\_build\DHT_bootstrap.vcxproj]
  toxcore.lib(crypto_core.obj) : error LNK2019: ссылка на неразрешенный внешний символ __imp_crypto_verify_32 в функции
 public_key_cmp. [F:\git\c-toxcore\_build\DHT_bootstrap.vcxproj]
  toxcore.lib(crypto_core.obj) : error LNK2019: ссылка на неразрешенный внешний символ __imp_randombytes в функции rand
om_bytes. [F:\git\c-toxcore\_build\DHT_bootstrap.vcxproj]
  misc_tools.lib(misc_tools.obj) : error LNK2019: ссылка на неразрешенный внешний символ __imp_randombytes_set_implemen
tation в функции use_test_rng. [F:\git\c-toxcore\_build\DHT_bootstrap.vcxproj]
  F:\git\c-toxcore\_build\Debug\DHT_bootstrap.exe : fatal error LNK1120: неразрешенных внешних элементов: 25 [F:\git\c-
toxcore\_build\DHT_bootstrap.vcxproj]
 
 
"F:\git\c-toxcore\_build\ALL_BUILD.vcxproj" (default target) (1) ->
"F:\git\c-toxcore\_build\toxcore_shared.vcxproj" (default target) (6) ->
  crypto_core.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp_crypto_hash_sha512 в функции crypto_sha
512. [F:\git\c-toxcore\_build\toxcore_shared.vcxproj]
  crypto_core.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp_crypto_hash_sha256 в функции crypto_sha
256. [F:\git\c-toxcore\_build\toxcore_shared.vcxproj]
  toxencryptsave.obj : error LNK2001: неразрешенный внешний символ __imp_crypto_hash_sha256. [F:\git\c-toxcore\_build\t
oxcore_shared.vcxproj]
  crypto_core.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp_crypto_box_keypair в функции crypto_new
_keypair. [F:\git\c-toxcore\_build\toxcore_shared.vcxproj]
  crypto_core.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp_crypto_box_beforenm в функции encrypt_p
recompute. [F:\git\c-toxcore\_build\toxcore_shared.vcxproj]
  crypto_core.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp_crypto_box_afternm в функции encrypt_da
ta_symmetric. [F:\git\c-toxcore\_build\toxcore_shared.vcxproj]
  crypto_core.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp_crypto_box_open_afternm в функции decry
pt_data_symmetric. [F:\git\c-toxcore\_build\toxcore_shared.vcxproj]
  crypto_core.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp_crypto_scalarmult_curve25519_base в фун
кции crypto_derive_public_key. [F:\git\c-toxcore\_build\toxcore_shared.vcxproj]
  crypto_core.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp_crypto_verify_32 в функции public_key_c
mp. [F:\git\c-toxcore\_build\toxcore_shared.vcxproj]
  crypto_core.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp_randombytes в функции random_bytes. [F:
\git\c-toxcore\_build\toxcore_shared.vcxproj]
  crypto_core_mem.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp_sodium_memzero в функции crypto_mem
zero. [F:\git\c-toxcore\_build\toxcore_shared.vcxproj]
  crypto_core_mem.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp_sodium_memcmp в функции crypto_memc
mp.
  F:\git\c-toxcore\_build\Debug\toxcore.dll : fatal error LNK1120: неразрешенных внешних элементов: 25 [F:\git\c-toxcor
e\_build\toxcore_shared.vcxproj]

Если не закидывать зависимости в указанные папки, то cmake не конфигурирует проект, ссылаясь на отсутствие зависимостей. Но по ошибкам видно, что они связаны с этими зависимостями. Возможно стоит их собрать самостоятельно, а не качать бинарники?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
16.05.2021, 14:10
Ответы с готовыми решениями:

Собрать компилятор gcc с gtk+ под Windows 8.1
Всем доброго в.с. Необходимо поднять существующий проект написанный на C++. О проекте известно, что разрабатывался он под компилятор...

Как собрать libssh под Windows 7?
Здравствуйте. Может кто-то собирал libssh под Win7, как это сделать? В гугл не посылать, уже был, настроил среду, но не *.dll, не *.lib...

Как правильно собрать ICU для g++ под Windows?
Не получается собрать ICU для компилятора g++ 4.8.2. Делаю через MSYS. Мои команды: Всегда получаю одно и тоже самое: Как правильно...

21
 Аватар для Mars_36
1 / 1 / 0
Регистрация: 05.12.2017
Сообщений: 33
09.09.2021, 17:56  [ТС]
Студворк — интернет-сервис помощи студентам
gagus, Если у вас в выводе из примера из доков приложение зависает на "connecting...", то дело в задержке. Как костыльный вариант добавьте
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <windows.h>
 
void usleep(__int64 usec)
{
    HANDLE timer;
    LARGE_INTEGER ft;
 
    ft.QuadPart = -(10*usec); // Convert to 100 nanosecond interval, negative value indicates relative time
 
    timer = CreateWaitableTimer(NULL, TRUE, NULL);
    SetWaitableTimer(timer, &ft, 0, NULL, NULL, 0);
    WaitForSingleObject(timer, INFINITE);
    CloseHandle(timer);
}
Добавлено через 1 минуту
gagus, Сейчас собрал под винду и в таком виде работает, но конечно лучше использовать что то из winapi. С токсом работаю под линуксом, там все из коробки запустилось.
1
0 / 0 / 0
Регистрация: 08.09.2021
Сообщений: 6
09.09.2021, 18:02
Заработало! Спасибо вам огромное. Столько времени угробил а дело было в долбаном Sleep
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
09.09.2021, 18:02
Помогаю со студенческими работами здесь

Boost 1.33.0: не могу собрать под Windows
Так сложилось, что потребовался именно boost 1.33.0. Bjam собрался, но почему то обозвался jam0. При сборке библиотеки Boost появляется...

Собрать драйвер для последних версий mysql и qt под Windows
(не) Добрый день. Новый комп, на нем ставлю для разработки qt, mysql и.т.д. Все последних версий, x64. Собственно, сейчас застрял на...

Как собрать OpenSSL под MinGW-w64 в Windows?
В этом деле полный нуб, даже не знаю с чего начать, скачал openssl, есть qtCreator, как делать либы из со своих проектов знаю, что делать с...

Собрать проект Seman под Windows 7
Доброго времени всем! Эксперты, помогите пожалуйста собрать проект Seman (http://sourceforge.net/scm/?type=svn&amp;group_id=242864)...

Как собрать проект под 4.0 Framework если изначально был под 4.5
Есть клиент серверное приложение использующее oledb и стандартные компоненты библиотек, изначально на машине стоял framework .net 4.5 и win...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
22
Ответ Создать тему
Новые блоги и статьи
FSharp: interface of module
DevAlt 16.05.2026
Интерфейс модуля F# позволяет управлять доступностью членов, содержащихся в реализации модуля. По-умолчанию все члены модуля доступны: module Foo let x = 10 let boo () = printfn "boo" . . .
Хитросплетение родственных связей пантеона греческих богов.
russiannick 14.05.2026
Однооконник, позволяющий узреть и изучить отдельных героев древней Греции. <!DOCTYPE html> <html lang="ru"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible". . .
[golang] Угол между стрелками часов
alhaos 12.05.2026
По заданным значениям часа и минуты необходимо определить значение меньшего угла между стрелками аналогового циферблата часов. import "math" func angleClock(hour int, minutes int) float64 { . . .
Debian 13: Установка Lazarus QT5
ВитГо 09.05.2026
Эта инструкция моя компиляция инструкций volvo https:/ / www. cyberforum. ru/ blogs/ 203668/ 10753. html и его же старой инструкции по установке Lazarus с gtk2. . .
Нейросеть на алгоритме "эстафета хвоста" как перспектива.
Hrethgir 06.05.2026
На десерт, когда запущу сервер. Статья тут https:/ / habr. com/ ru/ articles/ 1030914/ . Автор я сам, нейросеть только помогает в вопросах которые мне не известны - не знаю людей которые знали-бы. . .
Асинхронный приём данных из COM-порта
Argus19 01.05.2026
Асинхронный приём данных из COM-порта Купил на aliexpress термопринтер QR701. Он оказался странным. Поключил к Arduino Nano. Был очень удивлён. Наотрез отказывается печатать русские буквы. Чтобы. . .
попытка написать игровой сервер на C++
pyirrlicht 29.04.2026
попытка написать игровой сервер на плюсах с открытым бесконечным миром. возможно получится прикрутить интерпретатор питон для кастомизации игровой логики. что есть на текущий момент:. . .
Контроль уникальности выбранного документа-основания при изменении реквизита
Maks 28.04.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРемонтСпецтехники", разработанного в КА2. Задача: уведомлять пользователя, если указанная заявка (документ-основание). . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru