Анонче, приветствую уважаемый. На связи тупой электрик которому нужна помощь местных программистов. Нашел на гите вот эту хрень https://github.com/atadeusiak/IEC61850.get Объясни плиз, как мне все это дело собрать до юзабельного вида. Я не совсем тупой, в ЯП чуток понимаю, знаю питона немного, жаваскрипты, поэтому думаю что с твоей помощью я осилю это говно, очень надо по работе. Visual Studio 2017 установил, если что. Или ткни на гайды для дебилов, где можно поумнеть и осилить это. Вся надежда на тебя.
Репу склонил? Открывай в vs папку src. Качай либу, которая там указана (http://libiec61850.com/libiec61850/). Дописывай её пути в линкер и инклюды. Нажимай зелёный треугольник и готово. (Если бы у меня была винда сам бы тебе собрал - было бы быстрее)
Я, короче, на исходники либы, её, видимо, нужно сначала собрать, перед тем как линковаться с ней. Смотри, придётся открыть терминал и проделать то, что тут описывают. https://libiec61850.com/libiec61850/documentation/building-the-library/ Тебе нужно то, что в секции Building with Visual Studio. Распаковываешь архив, заходишь в получившуюся папку. Там создаешь папку build. В build открываешь терминал и пишешь: cmake -G "Visual Studio 15 2017" .. (надо установить cmake, если его нет)
После этого (если не будет ошибок), то в этой папке появится .sln файл. Открывай его. Там в дереве проектов ищи iec61850. Кликай по нему правой кнопкой и жми build (вроде так это делалось - я уже очень давно не пользовался vs). После этого, если удачно сбилдится, то в build будут папки Debug или Release - зависит от того, что у тебя было выбрано в раскрывающемся списке рядом с зелёным треугольником. Там где-то должен будет быть файл .lib.
Пикрил то, что выдал при >Там в дереве проектов ищи iec61850. Кликай по нему правой кнопкой и жми build (вроде так это делалось - я уже очень давно не пользовался vs)
Я надеюсь тебе не нужна поддержка GOOSE (хз что это - там в гайде это отдельным пунктом и выглядит запарно).
Когда построишь либу открывай проект с твоей тулой и открывай свойства проекта. Там иди в раздел про линковщик (и там вроде подраздел ввод) и добавляй в Дополнительные зависимости iec61850.lib (она там уже должна быть прописана, если нет, то просто дописывай в конец строчки iec61850.lib;). Там же в Дополнительные директории библиотек добавляй путь к папке, в которой лежит iec61850.lib (который мы построили).
Теперь иди в раздел C/C++ и ищи где-то там дополнительный директории для заголовочных файлов. Дописывай туда $(LIBIEC61850)\src\goose;$(LIBIEC61850)\src\mms\inc;$(LIBIEC61850)\src\iec61850\inc;$(LIBIEC61850)\src\vs;$(LIBIEC61850)\src\common\inc;$(LIBIEC61850)\src\hal\inc; (если этого нет).
После этого в настройках видны добавь переменную окружения (загугли как это сделать - я не помню). Имя переменной - LIBIEC61850, значение - путь до папки с сорцами либы, такой, чтобы когда плюсыешь этот путь и куски путей из прошлого пункта получались валидные пути.
После этого можешь жать треугольник и искать в Debug или Release экзешник.
Если переменная окружения не будет пахать (компилятор будет жаловаться на то, что не может найти хедеры/либы), то вместо переменной, подставляй её значение (в доп директориях заголовочных файлов).
>>235380494 Ок. Выбрал. Туплю с этим: >Там же в Дополнительные директории библиотек добавляй путь к папке, в которой лежит iec61850.lib (который мы построили). Не могу найти куда вписать путь.
>Теперь иди в раздел C/C++ и ищи где-то там дополнительный директории для заголовочных файлов. Дописывай туда $(LIBIEC61850)\src\goose;$(LIBIEC61850)\src\mms\inc;$(LIBIEC61850)\src\iec61850\inc;$(LIBIEC61850)\src\vs;$(LIBIEC61850)\src\common\inc;$(LIBIEC61850)\src\hal\inc; (если этого нет). C этим я правильно тебя понял?
>>235382908 >И проверь что в окошке на 235381082 до hal/inc раскрылся правильный путь. Да, там косяк был. Теперь вылетает следующее:
1>c:\users\home\desktop\libiec61850-1.4.2.1\libiec61850-1.4.2.1\src\iec61850\inc\iec61850_common.h(33): fatal error C1083: Не удается открыть файл включение: logging_api.h: No such file or directory,
>>235375871 (OP) Какой же пиздец со всеми этими симейками и прочими ублюдочными сборщиками. Спрашивается нахуя это делать, если можно использовать юнити-билд это когда ты инклудишь файлы в один и компилишь всего один .cpp с простеньким батч файлом в 99.9999999999% случаев и не ебать никому мозги.
>>235383229 Звучит очень хуёво (у тебя же это будет миллиард лет собираться, если что-то больше 1к строк - нет параллелизма на разных объектных файлах).
>>235383229 На самом деле симейк - это лучшее, что сейчас есть в мире крестов для сборки (хотя хуйня, конечно, просто пизедц. никому не нравится, но ничего лучше пока нет). Вот та либа, которую сначала собрали была на симейке - там там всё сразу собралось.
>>235383524 >>235383691 Нахуя вы говорите то о чем понятия не имеете. Юнити-билд даёт на клык симейку и прочим билдам только в путь, вы бы погуглили для начала прежде чем умничать. К сожалению за пределами игорей его нигде особо не юзают, потому что там нужно выжимать все соки с железа и компиляторов.
>>235384031 Вот для дебилов, просвещайтесь. https://en.wikipedia.org/wiki/Unity_build Отдельно орнул с челика выше, который пишет про параллелизм объектных файлов, когда это главная причина тормозов типичных билдов на крестах, которую Юнити убирает.
>>235384312 Юнити билд всегда рекомпилится полностью. Профит он даёт от того что компилятор видит все файлы, ему не нужно создавать внешнюю таблицу функций, парсить одни и те же хедеры в разных компилейшен юнитах, а потом линковать все это в одну кучу.
Так же можно поделить юнити билд на несколько компилейшен юнитов и компилить их в паралели если нужно.
>>235383524 >у тебя же это будет миллиард лет собираться, если что-то больше 1к строк - нет параллелизма на разных объектных файлах) 7к строк, фул ребилд за 2 секунды. И это на дешевом срузене 1200 в однопотоке. На нормальном процессоре в однопотоке билд в 100к строк билдится за секунду с нуля.
>>235385637 Сильно. Я не спец по крестам, поэтому до этого только про precompiled headers знал. Прочитал о недостатках юнити билдов - сложно сказать перекрывает ли скорость сборки возможные проблемы(хотя, если с самого начала писать код с учётом того, что будешь всё в один файл сливать, то мб и стоит того).
1>------ Сборка начата: проект: IEC61850.get, Конфигурация: Debug Win32 ------ 1>IEC61850.get.cpp 1>c:\users\home\desktop\iec61850.get-master\src\iec61850.get\iec61850.get.cpp(40): warning C4474: "printf" : для строки формата передано слишком много аргументов 1>c:\users\home\desktop\iec61850.get-master\src\iec61850.get\iec61850.get.cpp(40): note: заполнители и их параметры ожидают переменное число аргументов в количестве 1, но было предоставлено 2 1>c:\users\home\desktop\iec61850.get-master\src\iec61850.get\iec61850.get.cpp(35): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. 1>c:\program files (x86)\windows kits\10\include\10.0.17763.0\ucrt\string.h(90): note: см. объявление "strcat" 1>c:\users\home\desktop\iec61850.get-master\src\iec61850.get\iec61850.get.cpp(36): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. 1>c:\program files (x86)\windows kits\10\include\10.0.17763.0\ucrt\string.h(90): note: см. объявление "strcat" 1>c:\users\home\desktop\iec61850.get-master\src\iec61850.get\iec61850.get.cpp(42): warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. 1>c:\program files (x86)\windows kits\10\include\10.0.17763.0\ucrt\stdio.h(208): note: см. объявление "fopen" 1>c:\users\home\desktop\iec61850.get-master\src\iec61850.get\iec61850.get.cpp(107): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. 1>c:\program files (x86)\windows kits\10\include\10.0.17763.0\ucrt\string.h(90): note: см. объявление "strcat" 1>c:\users\home\desktop\iec61850.get-master\src\iec61850.get\iec61850.get.cpp(108): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. 1>c:\program files (x86)\windows kits\10\include\10.0.17763.0\ucrt\string.h(90): note: см. объявление "strcat" 1>iec61850.lib(constr_SET_OF.obj) : error LNK2001: неразрешенный внешний символ "_Memory_malloc" 1>iec61850.lib(OCTET_STRING.obj) : error LNK2001: неразрешенный внешний символ "_Memory_malloc" 1>iec61850.lib(mms_value_cache.obj) : error LNK2001: неразрешенный внешний символ "_Memory_malloc" 1>iec61850.lib(map.obj) : error LNK2001: неразрешенный внешний символ "_Memory_malloc" 1>iec61850.lib(BOOLEAN.obj) : error LNK2001: неразрешенный внешний символ "_Memory_malloc" 1>iec61850.lib(mms_journal.obj) : error LNK2001: неразрешенный внешний символ "_Memory_malloc" 1>iec61850.lib(mms_get_namelist_service.obj) : error LNK2001: неразрешенный внешний символ "_Memory_malloc" 1>iec61850.lib(asn_codecs_prim.obj) : error LNK2001: неразрешенный внешний символ "_Memory_malloc" 1>iec61850.lib(constr_SEQUENCE.obj) : error LNK2001: неразрешенный внешний символ "_Memory_malloc" 1>iec61850.lib(NULL.obj) : error LNK2001: неразрешенный внешний символ "_Memory_malloc" 1>iec61850.lib(mms_common_msg.obj) : error LNK2001: неразрешенный внешний символ "_Memory_malloc" 1>iec61850.lib(INTEGER.obj) : error LNK2001: неразрешенный внешний символ "_Memory_malloc" 1>iec61850.lib(iso_connection.obj) : error LNK2001: неразрешенный внешний символ "_Memory_malloc" 1>iec61850.lib(mms_named_variable_list.obj) : error LNK2001: неразрешенный внешний символ "_Memory_malloc" 1>iec61850.lib(iso_client_connection.obj) : error LNK2001: неразрешенный внешний символ "_Memory_malloc" 1>iec61850.lib(ber_decode.obj) : error LNK2001: неразрешенный внешний символ "_Memory_malloc" 1>iec61850.lib(mms_client_read.obj) : error LNK2001: неразрешенный внешний символ "_Memory_malloc" 1>iec61850.lib(mms_client_journals.obj) : error LNK2001: неразрешенный внешний символ "_Memory_malloc" 1>iec61850.lib(iec61850_common.obj) : error LNK2001: неразрешенный внешний символ "_Memory_malloc" 1>iec61850.lib(mms_client_connection.obj) : error LNK2001: неразрешенный внешний символ "_Memory_malloc" 1>iec61850.lib(client_report.obj) : error LNK2001: неразрешенный внешний символ "_Memory_malloc" 1>iec61850.lib(asn1_ber_primitive_value.obj) : error LNK2001: неразрешенный внешний символ "_Memory_malloc" 1>iec61850.lib(linked_list.obj) : error LNK2001: неразрешенный внешний символ "_Memory_malloc" 1>iec61850.lib(ied_connection.obj) : error LNK2001: неразрешенный внешний символ "_Memory_malloc" 1>iec61850.lib(mms_value.obj) : error LNK2001: неразрешенный внешний символ "_Memory_malloc" 1>iec61850.lib(string_utilities.obj) : error LNK2001: неразрешенный внешний символ "_Memory_malloc" 1>iec61850.lib(asn_SET_OF.obj) : error LNK2001: неразрешенный внешний символ "_Memory_free" 1>iec61850.lib(GeneralizedTime.obj) : error LNK2001: неразрешенный внешний символ "_Memory_free" 1>iec61850.lib(BOOLEAN.obj) : error LNK2001: неразрешенный внешний символ "_Memory_free" 1>iec61850.lib(mms_journal.obj) : error LNK2001: неразрешенный внешний символ "_Memory_free" 1>iec61850.lib(constr_SET_OF.obj) : error LNK2001: неразрешенный внешний символ "_Memory_free" 1>iec61850.lib(OCTET_STRING.obj) : error LNK2001: неразрешенный внешний символ "_Memory_free" 1>iec61850.lib(mms_value_cache.obj) : error LNK2001: неразрешенный внешний символ "_Memory_free" 1>iec61850.lib(map.obj) : error LNK2001: неразрешенный внешний символ "_Memory_free" 1>iec61850.lib(mms_domain.obj) : error LNK2001: неразрешенный внешний символ "_Memory_free" 1>iec61850.lib(mms_device.obj) : error LNK2001: неразрешенный внешний символ "_Memory_free"
1>iec61850.lib(mms_client_connection.obj) : error LNK2019: ссылка на неразрешенный внешний символ _Thread_create в функции _MmsConnection_connectAsync 1>iec61850.lib(mms_client_connection.obj) : error LNK2019: ссылка на неразрешенный внешний символ _Thread_start в функции _MmsConnection_connectAsync 1>iec61850.lib(mms_client_connection.obj) : error LNK2019: ссылка на неразрешенный внешний символ _Thread_destroy в функции _MmsConnection_destroy 1>iec61850.lib(iso_server.obj) : error LNK2001: неразрешенный внешний символ "_Thread_destroy" 1>iec61850.lib(mms_client_connection.obj) : error LNK2019: ссылка на неразрешенный внешний символ _Thread_sleep в функции _MmsConnection_abort 1>iec61850.lib(iso_server.obj) : error LNK2001: неразрешенный внешний символ "_Thread_sleep" 1>iec61850.lib(iso_client_connection.obj) : error LNK2019: ссылка на неразрешенный внешний символ _Socket_activateTcpKeepAlive в функции _IsoClientConnection_associateAsync 1>iec61850.lib(iso_server.obj) : error LNK2001: неразрешенный внешний символ "_Socket_activateTcpKeepAlive" 1>iec61850.lib(iso_client_connection.obj) : error LNK2019: ссылка на неразрешенный внешний символ _TcpSocket_create в функции _IsoClientConnection_associateAsync 1>iec61850.lib(iso_client_connection.obj) : error LNK2019: ссылка на неразрешенный внешний символ _Socket_connectAsync в функции _IsoClientConnection_associateAsync 1>iec61850.lib(iso_client_connection.obj) : error LNK2019: ссылка на неразрешенный внешний символ _Socket_checkAsyncConnectState в функции _IsoClientConnection_handleConnection 1>iec61850.lib(iso_client_connection.obj) : error LNK2019: ссылка на неразрешенный внешний символ _Socket_destroy в функции _IsoClientConnection_associateAsync 1>iec61850.lib(iso_connection.obj) : error LNK2001: неразрешенный внешний символ "_Socket_destroy" 1>iec61850.lib(iso_server.obj) : error LNK2001: неразрешенный внешний символ "_Socket_destroy" 1>iec61850.lib(mms_client_files.obj) : error LNK2019: ссылка на неразрешенный внешний символ _FileSystem_closeFile в функции "void __cdecl mmsClient_handleFileCloseRequest(struct sMmsConnection ,unsigned char ,int,int,unsigned int,struct ByteBuffer )" (?mmsClient_handleFileCloseRequest@@YAXPAUsMmsConnection@@PAEHHIPAUByteBuffer@@@Z) 1>iec61850.lib(mms_file_service.obj) : error LNK2001: неразрешенный внешний символ "_FileSystem_closeFile" 1>iec61850.lib(mms_server_connection.obj) : error LNK2001: неразрешенный внешний символ "_FileSystem_closeFile" 1>iec61850.lib(cotp.obj) : error LNK2019: ссылка на неразрешенный внешний символ _Socket_read в функции "int __cdecl readFromSocket(struct CotpConnection ,unsigned char ,int)" (?readFromSocket@@YAHPAUCotpConnection@@PAEH@Z) 1>iec61850.lib(cotp.obj) : error LNK2019: ссылка на неразрешенный внешний символ _Socket_write в функции "int __cdecl writeToSocket(struct CotpConnection ,unsigned char ,int)" (?writeToSocket@@YAHPAUCotpConnection@@PAEH@Z) 1>iec61850.lib(mms_file_service.obj) : error LNK2019: ссылка на неразрешенный внешний символ _FileSystem_openFile в функции "void __cdecl openFile(char const ,char ,bool)" (?openFile@@YAPAXPBDPAD_N@Z) 1>iec61850.lib(mms_common_msg.obj) : error LNK2001: неразрешенный внешний символ "_FileSystem_openFile" 1>iec61850.lib(mms_file_service.obj) : error LNK2019: ссылка на неразрешенный внешний символ _FileSystem_readFile в функции "void __cdecl mmsMsg_createFileReadResponse(int,unsigned int,struct ByteBuffer ,struct MmsFileReadStateMachine )" (?mmsMsg_createFileReadResponse@@YAXHIPAUByteBuffer@@PAUMmsFileReadStateMachine@@@Z) 1>iec61850.lib(mms_file_service.obj) : error LNK2019: ссылка на неразрешенный внешний символ _FileSystem_getFileInfo в функции "void __cdecl mmsServer_handleObtainFileRequest(struct sMmsServerConnection ,unsigned char ,int,int,unsigned int,struct ByteBuffer )" (?mmsServer_handleObtainFileRequest@@YAXPAUsMmsServerConnection@@PAEHHIPAUByteBuffer@@@Z) 1>iec61850.lib(mms_file_service.obj) : error LNK2019: ссылка на неразрешенный внешний символ _FileSystem_deleteFile в функции "bool __cdecl deleteFile(char const ,char )" (?deleteFile@@YA_NPBDPAD@Z) 1>iec61850.lib(mms_file_service.obj) : error LNK2019: ссылка на неразрешенный внешний символ _FileSystem_renameFile в функции "bool __cdecl renameFile(char const ,char ,char )" (?renameFile@@YA_NPBDPAD1@Z) 1>iec61850.lib(mms_file_service.obj) : error LNK2019: ссылка на неразрешенный внешний символ _FileSystem_openDirectory в функции "struct sDirectoryHandle __cdecl openDirectory(char const ,char )" (?openDirectory@@YAPAUsDirectoryHandle@@PBDPAD@Z) 1>iec61850.lib(mms_file_service.obj) : error LNK2019: ссылка на неразрешенный внешний символ _FileSystem_readDirectory в функции "int __cdecl addFileEntriesToResponse(char const ,unsigned char ,int,int,char ,char ,bool )" (?addFileEntriesToResponse@@YAHPBDPAEHHPADPAPADPA_N@Z) 1>iec61850.lib(mms_file_service.obj) : error LNK2019: ссылка на неразрешенный внешний символ _FileSystem_closeDirectory в функции "int __cdecl addFileEntriesToResponse(char const ,unsigned char ,int,int,char ,char ,bool )" (?addFileEntriesToResponse@@YAHPBDPAEHHPADPAPADPA_N@Z) 1>iec61850.lib(mms_server_connection.obj) : error LNK2019: ссылка на неразрешенный внешний символ _FileSystem_writeFile в функции "void __cdecl mmsFileReadHandler(unsigned int,void ,enum MmsError,int,unsigned char ,unsigned int,bool)" (?mmsFileReadHandler@@YAXIPAXW4MmsError@@HPAEI_N@Z) 1>iec61850.lib(INTEGER.obj) : error LNK2019: ссылка на неразрешенный внешний символ _Memory_realloc в функции _ASN_DEBUG 1>iec61850.lib(constr_SET_OF.obj) : error LNK2001: неразрешенный внешний символ "_Memory_realloc" 1>iec61850.lib(OCTET_STRING.obj) : error LNK2001: неразрешенный внешний символ "_Memory_realloc" 1>iec61850.lib(asn_SET_OF.obj) : error LNK2001: неразрешенный внешний символ "_Memory_realloc" 1>iec61850.lib(iso_connection.obj) : error LNK2019: ссылка на неразрешенный внешний символ _Handleset_addSocket в функции "void __cdecl IsoConnection_addToHandleSet(struct sIsoConnection const,struct sHandleSet )" (?IsoConnection_addToHandleSet@@YAXQAUsIsoConnection@@PAUsHandleSet@@@Z) 1>iec61850.lib(iso_server.obj) : error LNK2001: неразрешенный внешний символ "_Handleset_addSocket" 1>iec61850.lib(iso_connection.obj) : error LNK2019: ссылка на неразрешенный внешний символ _Handleset_removeSocket в функции "void __cdecl IsoConnection_removeFromHandleSet(struct sIsoConnection const,struct sHandleSet )" (?IsoConnection_removeFromHandleSet@@YAXQAUsIsoConnection@@PAUsHandleSet@@@Z) 1>iec61850.lib(iso_connection.obj) : error LNK2019: ссылка на неразрешенный внешний символ _Socket_getLocalAddress в функции "struct sIsoConnection __cdecl IsoConnection_create(struct sSocket ,struct sIsoServer ,bool)" (?IsoConnection_create@@YAPAUsIsoConnection@@PAUsSocket@@PAUsIsoServer@@_N@Z) 1>iec61850.lib(iso_connection.obj) : error LNK2019: ссылка на неразрешенный внешний символ _Socket_getPeerAddress в функции "struct sIsoConnection __cdecl IsoConnection_create(struct sSocket ,struct sIsoServer ,bool)" (?IsoConnection_create@@YAPAUsIsoConnection@@PAUsSocket@@PAUsIsoServer@@_N@Z) 1>iec61850.lib(iso_server.obj) : error LNK2019: ссылка на неразрешенный внешний символ _Handleset_new в функции "bool __cdecl setupIsoServer(struct sIsoServer )" (?setupIsoServer@@YA_NPAUsIsoServer@@@Z) 1>iec61850.lib(iso_server.obj) : error LNK2019: ссылка на неразрешенный внешний символ _Handleset_waitReady в функции _IsoServer_waitReady 1>iec61850.lib(iso_server.obj) : error LNK2019: ссылка на неразрешенный внешний символ _Handleset_destroy в функции _IsoServer_destroy 1>iec61850.lib(iso_server.obj) : error LNK2019: ссылка на неразрешенный внешний символ _TcpServerSocket_create в функции "bool __cdecl setupIsoServer(struct sIsoServer )" (?setupIsoServer@@YA_NPAUsIsoServer@@@Z) 1>iec61850.lib(iso_server.obj) : error LNK2019: ссылка на неразрешенный внешний символ _ServerSocket_listen в функции "bool __cdecl setupIsoServer(struct sIsoServer )" (?setupIsoServer@@YA_NPAUsIsoServer@@@Z) 1>iec61850.lib(iso_server.obj) : error LNK2019: ссылка на неразрешенный внешний символ _ServerSocket_accept в функции "void __cdecl handleIsoConnections(struct sIsoServer ,bool)" (?handleIsoConnections@@YAXPAUsIsoServer@@_N@Z) 1>iec61850.lib(iso_server.obj) : error LNK2019: ссылка на неразрешенный внешний символ _ServerSocket_setBacklog в функции "bool __cdecl setupIsoServer(struct sIsoServer )" (?setupIsoServer@@YA_NPAUsIsoServer@@@Z) 1>iec61850.lib(iso_server.obj) : error LNK2019: ссылка на неразрешенный внешний символ _ServerSocket_destroy в функции _IsoServer_stopListening 1>C:\Users\home\Desktop\IEC61850.get-master\src\Debug\IEC61850.get.exe : fatal error LNK1120: неразрешенных внешних элементов: 42 1>Сборка проекта "IEC61850.get.vcxproj" завершена с ошибкой. ========== Сборка: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
>>235385944 >(хотя, если с самого начала писать код с учётом того, что будешь всё в один файл сливать, то мб и стоит того). А недостатков то и нет. Огромная скорость секунды vs часы типичной симейк сборки и это не шутки. Плюс вся сборка по сути это cl some_file.cpp. Все блядь, вся сборка это одна строчка. Ну плюс-минус опциональные параметры компилятора.
>>235386850 >Проблемы с зависимостями не решаются ведь такими билдами. ну а ты перечитай пост анона выше. Там проблемы с линковкой разных обж файлов, а в юнити этого нет, потому что у тебя один компилейшен юнит.
>>235389910 Лол, представляю, если бы я собирал с помощью гугла, сколько времени бы ушло на те шаги, что анон подсказал. Если есть желание, то помогай, как видишь из треда, не все так просто. На этом остановился: >>235386461 >>235386381