Почему сборка pjsua показывает ошибку после установки Windows (/ SUBSYSTEM: WINDOWS) как свойство Linker-> Subystem в Visual Studio 2017 - PullRequest
0 голосов
/ 27 сентября 2019

Я попытался скомпилировать pjproject-2.9 в соответствии с документом в Windows 10 x64.Я попробовал следующие команды.Все прошло успешно (i) ./configure (ii) make && make install

Я использую Visual Studio 2017. Для сборки проектов я следовал процедуре, приведенной в приведенном выше документе для VS 2015:

  1. открытый файл решения pjproject-vs14.sln ---> Установить pjsua в качестве загрузочного проекта ---> Установить Win32 в качестве платформы ---> Выбрать Отладка или Выпуск сборки ---> Построить проект.

Создан пустой файл config_site.h в pjproject / pjlib / include / pj

Я внес следующие изменения в свойство pjsua: 1. Свойства конфигурации -> General--> Windows SDK версии 10.0.18362.0 Свойства конфигурации -> Общие -> Набор инструментов платформы Visual Studio 2017 (v141) Проект по умолчанию -> Тип конфигурации -> Приложение (.exe) Проект по умолчанию -> Использование MFC -> Использовать стандартные настройки проекта Windows по умолчанию для библиотек -> Набор символов -> Использовать многобайтовые наборы символов по умолчанию -> Поддержка общеязыковой среды выполнения -> Нет поддержки общеязыковой среды выполнения

Каталоги VC ++ -> Включить каталоги -> (мой путь включения sdl2 и путь включения python) Каталоги VC ++ -> Каталоги библиотек -> (путь библиотек python)

C / C ++ -> General -> (добавлен путь включения SDL2)

Linker -> General -> Дополнительные каталоги библиотеки -> (добавлен путь sdl2 libx86) Линкер -> Ввод -> Дополнительные зависимости -> (добавлен SDL2.lib, SDL2main.lib) Линкер -> Система -> Подсистема -> Консоль (/ SUBSYSTEM: CONSOLE) Линкер -> Дополнительно -> Целевая машина -> Не задано

pjsua -> Зависимости сборки -> Зависимости проекта -> Выбранные все

Когда яустановите Linker -> System -> Subsystem -> Console (/ SUBSYSTEM: CONSOLE), чтобы он был успешно собран.Но мне нужно построить это как Windows (/ SUBSYSTEM: WINDOWS), он показывает мне ошибку.

Примечание: следовал по этой ссылке , чтобы установить свойства для SDL2.Я также перешел по другим ссылкам, таким как wikihow .. везде, где упоминается, что используется только Windows (/ SUBSYSTEM: WINDOWS).Мне нужно собрать это только с Windows (/ SUBSYSTEM: WINDOWS)

Это ошибки, которые я получил:

LNK2019 unresolved external symbol _SDL_main referenced in function _main_getcmdline    pjsua   ...\pjproject-2.9\pjsip-apps\build\SDL2main.lib(SDL_windows_main.obj)   1   
LNK1120 1 unresolved externals  pjsua   ...\pjproject-2.9\pjsip-apps\bin\pjsua-i386-Win32-vc14-Release.exe  1```

Please Note: I added/changed property one by one and generated a build. To see which of these is creating the error. only after changing from CONSOLE(/SUBSYSTEM: CONSOLE) to WINDOWS(/SUBSYSTEM:WINDOWS), I got those error. 

Every time before pjsua build, i do pjsua clean. Still, I get these errors

All these error are linker related. Is there any property I have to change?



...