Нашел на гите вот эту хрень https://github.com/atadeusiak/IEC61850.get
Объясни плиз, как мне все это дело собрать до юзабельного вида.
Я не совсем тупой, в ЯП чуток понимаю, знаю питона немного, жаваскрипты, поэтому думаю что с твоей помощью я осилю это говно, очень надо по работе.
Visual Studio 2017 установил, если что. Или ткни на гайды для дебилов, где можно поумнеть и осилить это.
Вся надежда на тебя.
Спасибо анонче, что откликнулся.
Либу скачал, папку открыл.
>Дописывай её пути в линкер и инклюды.
Вот тут можешь поподробнее?
Тебе нужно то, что в секции Building with Visual Studio. Распаковываешь архив, заходишь в получившуюся папку. Там создаешь папку build. В build открываешь терминал и пишешь:
cmake -G "Visual Studio 15 2017" ..
(надо установить cmake, если его нет)
Ок, спасибо. В процессе.
Короче, анон, на пикрелейте ситуация при попытке собрать.
.sln файл не появился.
Попробую через консоль еще.
А нет, это я обосрался. Надо было нажать Generate.
Короче файл появился.
Когда построишь либу открывай проект с твоей тулой и открывай свойства проекта. Там иди в раздел про линковщик (и там вроде подраздел ввод) и добавляй в Дополнительные зависимости 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 экзешник.
Да, есть такой.
Слушай анон, обратил внимание, что утилита собрана на VS 12. Это проблема или нет?
Ок. Выбрал.
Туплю с этим:
>Там же в Дополнительные директории библиотек добавляй путь к папке, в которой лежит iec61850.lib (который мы построили).
Не могу найти куда вписать путь.
C этим я правильно тебя понял?
Ок. Спасибо анон, пошел гуглить как создать переменную.
А ты знаешь, что Срален насиловал Ленена в жёппу?
Бля, обосрался в названии. Не то посмотрел.
Да есть такой файл, но лежит не в src.
>И проверь что в окошке на 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,
Какой же пиздец со всеми этими симейками и прочими ублюдочными сборщиками. Спрашивается нахуя это делать, если можно использовать юнити-билд это когда ты инклудишь файлы в один и компилишь всего один .cpp с простеньким батч файлом в 99.9999999999% случаев и не ебать никому мозги.
Звучит очень хуёво (у тебя же это будет миллиард лет собираться, если что-то больше 1к строк - нет параллелизма на разных объектных файлах).
Бля, короче пезда походу, я не соберу это говно своими силами.
На самом деле симейк - это лучшее, что сейчас есть в мире крестов для сборки (хотя хуйня, конечно, просто пизедц. никому не нравится, но ничего лучше пока нет). Вот та либа, которую сначала собрали была на симейке - там там всё сразу собралось.
Напиши в 149 строчке вместо _TCHAR * -> auto
ЧТобы было вот так:
auto filename = FileDirectoryEntry_getFileName(entry);
Помогло, но дальше вывалило следующее.
Мне для этих же строк так же сделать?
>>235383691
Нахуя вы говорите то о чем понятия не имеете. Юнити-билд даёт на клык симейку и прочим билдам только в путь, вы бы погуглили для начала прежде чем умничать.
К сожалению за пределами игорей его нигде особо не юзают, потому что там нужно выжимать все соки с железа и компиляторов.
Заменяй _TCHAR на const char
Вот для дебилов, просвещайтесь.
https://en.wikipedia.org/wiki/Unity_build
Отдельно орнул с челика выше, который пишет про параллелизм объектных файлов, когда это главная причина тормозов типичных билдов на крестах, которую Юнити убирает.
Анон, запутался.
auto оставляю? (1 скрин)
_TCHAR меняю где? (2 скрин?)
Я правильно понимаю что юнити билд даёт профит только если делаешь финальный билд?
Меняй везде, где ругается компилятор. На const char*
auto тоже поменяй.
Он меня отсылает на 153 и 160 строчку. Тут я вообще не въеду, куда что добавлять.
Сейчас выглядит как на пикрил. Ругается на 153 и 160.
Пишет это:
1>c:\users\home\desktop\iec61850.get-master\src\iec61850.get\iec61850.get.cpp(153): error C2664: "void Download(IedConnection,_TCHAR ,_TCHAR )": невозможно преобразовать аргумент 2 из "const char " в "_TCHAR "
Юнити билд всегда рекомпилится полностью. Профит он даёт от того что компилятор видит все файлы, ему не нужно создавать внешнюю таблицу функций, парсить одни и те же хедеры в разных компилейшен юнитах, а потом линковать все это в одну кучу.
Так же можно поделить юнити билд на несколько компилейшен юнитов и компилить их в паралели если нужно.
>у тебя же это будет миллиард лет собираться, если что-то больше 1к строк - нет параллелизма на разных объектных файлах)
7к строк, фул ребилд за 2 секунды. И это на дешевом срузене 1200 в однопотоке. На нормальном процессоре в однопотоке билд в 100к строк билдится за секунду с нуля.
Анон, то ли я в шары ебусь, то ли чего то не в дупляю, но в 153 нет _TCHAR.
Посмотри пикрил, я навел на filename и вылезло следующее.
>7к строк
10к если считать комменты и пустые строки.
А, сорян, это я объебался (поверил выводу просто). В 24 меняй.
Сильно. Я не спец по крестам, поэтому до этого только про precompiled headers знал. Прочитал о недостатках юнити билдов - сложно сказать перекрывает ли скорость сборки возможные проблемы(хотя, если с самого начала писать код с учётом того, что будешь всё в один файл сливать, то мб и стоит того).
В 24 поменял, теперь пикрил. Короче я так понял, мне надо пройти и везде сделать замену _TCHAR? Например 26 и 33 строка?
Да. А там, где жалуется на const char дописать перед названием переменной: (_TCHAR) - в скобках.
(_TCHAR*)
звезда проебалась
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 ==========
>(хотя, если с самого начала писать код с учётом того, что будешь всё в один файл сливать, то мб и стоит того).
А недостатков то и нет. Огромная скорость секунды vs часы типичной симейк сборки и это не шутки.
Плюс вся сборка по сути это cl some_file.cpp. Все блядь, вся сборка это одна строчка. Ну плюс-минус опциональные параметры компилятора.
И нет вот этого пиздеца >>235386381
Почему люди до сих пор не переходят массово на unity/unified билды я понятия не имею. Кроме общей промытости софтдев сферы.
Судя по ошибкам либа не слинковалась с stdlib (наверное). Тут без курения настроек сборки хз чем помочь.
>>235386621
Проблемы с зависимостями не решаются ведь такими билдами.
>Проблемы с зависимостями не решаются ведь такими билдами.
ну а ты перечитай пост анона выше. Там проблемы с линковкой разных обж файлов, а в юнити этого нет, потому что у тебя один компилейшен юнит.
В гугле забанен? В вижуалке чтобы проект собрать даже мозг включать не надо.
Лол, представляю, если бы я собирал с помощью гугла, сколько времени бы ушло на те шаги, что анон подсказал.
Если есть желание, то помогай, как видишь из треда, не все так просто.
На этом остановился:
>>235386461
>>235386381