1. C++ / Говнокод #22545

    −20

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    Три грёбаных дня я пытаюсь скомпилировать обычную программу на openGL, и каждый раз 
    make.exe[2]: *** No rule to make target `libglfw.a', needed by `dist/Debug/MinGW_2-Windows/tetris.exe'.  Stop.
    libglfw.a -> эта хрень меняется каждый раз. Гугл ничего не выдает. Я даже пытался makefile изучить. Может кто сможет помочь?
    
    
    cd 'C:\Documents and Settings\Azazel\Рабочий стол\Projects\Tetris'
    C:\Program Files\NetBeans 8.2\MinGW\msys\1.0\bin\make.exe -f Makefile CONF=Debug
    for CONF in Debug Release ; \
    	do \
    	    "/C/Program Files/NetBeans 8.2/MinGW/msys/1.0/bin/make.exe" -f nbproject/Makefile-${CONF}.mk QMAKE= SUBPROJECTS= .build-conf; \
    	done
    make.exe[1]: Entering directory `/c/Documents and Settings/Azazel/Рабочий стол/Projects/Tetris'
    "/C/Program Files/NetBeans 8.2/MinGW/msys/1.0/bin/make.exe"  -f nbproject/Makefile-Debug.mk dist/Debug/MinGW_2-Windows/tetris.exe
    make.exe[2]: Entering directory `/c/Documents and Settings/Azazel/Рабочий стол/Projects/Tetris'
    mkdir -p build/Debug/MinGW_2-Windows
    g++    -c -g -include /C/Program\ Files/NetBeans\ 8.2/MinGW/include/GL/glut.h -o build/Debug/MinGW_2-Windows/main.o main.cpp
    make.exe[2]: *** No rule to make target `libglfw.a', needed by `dist/Debug/MinGW_2-Windows/tetris.exe'.  Stop.
    make.exe[2]: Leaving directory `/c/Documents and Settings/Azazel/Рабочий стол/Projects/Tetris'
    make.exe[1]: *** [.build-conf] Error 2
    make.exe[1]: Leaving directory `/c/Documents and Settings/Azazel/Рабочий стол/Projects/Tetris'
    make.exe[1]: Entering directory `/c/Documents and Settings/Azazel/Рабочий стол/Projects/Tetris'
    "/C/Program Files/NetBeans 8.2/MinGW/msys/1.0/bin/make.exe"  -f nbproject/Makefile-Release.mk dist/Release/MinGW_2-Windows/tetris.exe
    make.exe[2]: Entering directory `/c/Documents and Settings/Azazel/Рабочий стол/Projects/Tetris'
    mkdir -p build/Release/MinGW_2-Windows
    g++    -c -O2 -o build/Release/MinGW_2-Windows/main.o main.cpp
    make.exe[2]: *** No rule to make target `libglfw.a', needed by `dist/Release/MinGW_2-Windows/tetris.exe'.  Stop.
    make.exe[2]: Leaving directory `/c/Documents and Settings/Azazel/Рабочий стол/Projects/Tetris'
    make.exe[1]: *** [.build-conf] Error 2
    make.exe[1]: Leaving directory `/c/Documents and Settings/Azazel/Рабочий стол/Projects/Tetris'
    make.exe": *** [.all-impl] Error 2

    netBeans 8.2 , MinGW, Windows XP SP3 32bit.

    Запостил: Shantykoff, 11 Марта 2017

    Комментарии (85) RSS

    • А Вы за кого, за короля или за крестьян?
      Ответить
    • показать все, что скрытолинкеру нужна статическая либа libglfw.a
      а такой либы нет, точнее нет таргета чтобы ее сделать

      Эта либа и есть openlg. Она у Вас есть в пути у линкера? Физически фал есть?

      И да: Windows XP надо обоссать, сжечь, и запретить
      Вы бы еще под OS/2 бы тут посидели бы
      Ответить
      • показать все, что скрытоПод виндой сижу только из-за слабого ПК, и да файл залинкован и присутствует физически, проверял не один раз
        Ответить
      • Так у него не линкер выдаёт ошибку, а make.
        Ответить
        • показать все, что скрытоmake выдает ошибку потому что таргет депендится на эту либу, а таргета для ее сбора нет
          если бы либа была -- он бы тупа ее взял и не искал бы для нее таргет
          не>?
          Ответить
          • Может быть, она есть, но лежит в другой директории.
            Ответить
            • показать все, что скрытода, я уже подумал что она есть но мейк ее не видит потому что ее нет в VPATH

              ну глупо думать что кто-то собирает из сырцов такую либу, правда?

              Остается понять зойчем ее добавили в Make? Чтобы отловить ошибку раньше чем линкер?
              чтобы (ох, Лол!) сделать таргет типа

              libglfw.a:
              wget ...

              ?l;)
              Ответить
              • Я заметил такой фрагмент:
                # Include project Makefile
                include Makefile

                Если топикстартер покажет ещё и сам Makefile, то, вероятно, причина прояснится. Или нет...
                Ответить
              • У меня ещё есть подозрение, что мейкфайлы генерируются автоматически из проекта для IDE (в данном случае используется Netbeans). Возможно, скрипт вписал туда такие идиотские зависимости.
                Ответить
                • показать все, что скрытоВот потому-то новичкам нужно учица собирать программы в терминале
                  без IDЕ, Make итд

                  вот тупо пошел и

                  cc moja_programma.c -llibglfw
                  или как там надо
                  Ответить
                  • Тут ещё беда в том, что все эти Netbeans, Eclipse и прочее жабоговно что-то генерируют не сами, а силами плагинов, а в этих 100500 плагинах попробуй разберись.
                    Ответить
                    • показать все, что скрытоДа, особенно эклипс.

                      присоветовать парню CLion чтоли?
                      Он тоже умеет mingw (собственно на винде он тока его и умеет), и сам юзает cMake, но там, хотя бы, всё боль-мень стабильно

                      хехе
                      там даже туторьял есть
                      https://www.jetbrains.com/help/clion/2016.3/quick-cmake-tutorial.html
                      Ответить
                      • Ребят, я уже установил freeglut, всё норм, кстати СLion мой компьютер не тянет так что даже не пытайтесь
                        Ответить
      • У меня винда XP. Приди, и сожги меня.
        Ответить
    • Я бы сначала попробовал перенести проект с Рабочего стола в директорию, имя которой не содержит пробелов и нелатинских символов.
      Ответить
      • показать все, что скрытоСейчас попробую, спасибо
        Ответить
        • А как в файлах nbproject/Makefile-Debug.mk и nbproject/Makefile-Release.mk выглядит правило для tetris.exe? Как раз туда и должна быть запрятана зависимость от libglfw.a.
          Ответить
          • #Environment
            MKDIR=mkdir
            CP=cp
            GREP=grep
            NM=nm
            CCADMIN=CCadmin
            RANLIB=ranlib
            CC=gcc
            CCC=g++
            CXX=g++
            FC=gfortran
            AS=as
            
            # Macros
            CND_PLATFORM=MinGW_2-Windows
            CND_DLIB_EXT=dll
            CND_CONF=Release
            CND_DISTDIR=dist
            CND_BUILDDIR=build
            
            # Include project Makefile
            include Makefile
            
            # Object Directory
            OBJECTDIR=${CND_BUILDDIR}/${CND_CONF}/${CND_PLATFORM}
            
            # Object Files
            OBJECTFILES= \
            	${OBJECTDIR}/main.o
            
            
            # C Compiler Flags
            CFLAGS=
            
            # CC Compiler Flags
            CCFLAGS=
            CXXFLAGS=
            
            # Fortran Compiler Flags
            FFLAGS=
            
            # Assembler Flags
            ASFLAGS=
            
            # Link Libraries and Options
            LDLIBSOPTIONS=-L/C/Program\ Files/NetBeans\ 8.2/MinGW/lib -lopengl32 -lglut32 -lglfw -lglu32
            
            # Build Targets
            .build-conf: ${BUILD_SUBPROJECTS}
            	"${MAKE}"  -f nbproject/Makefile-${CND_CONF}.mk ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/tetris.exe
            
            ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/tetris.exe: libglfw.a
            
            ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/tetris.exe: libopengl32.a
            
            ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/tetris.exe: libglu32.a
            
            ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/tetris.exe: ${OBJECTFILES}
            	${MKDIR} -p ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}
            	${LINK.cc} -o ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/tetris ${OBJECTFILES} ${LDLIBSOPTIONS} -lGL -lGLU -lglut
            
            ${OBJECTDIR}/main.o: main.cpp nbproject/Makefile-${CND_CONF}.mk
            	${MKDIR} -p ${OBJECTDIR}
            	$(COMPILE.cc) -O2 -o ${OBJECTDIR}/main.o main.cpp
            
            # Subprojects
            .build-subprojects:
            
            # Clean Targets
            .clean-conf: ${CLEAN_SUBPROJECTS}
            	${RM} -r ${CND_BUILDDIR}/${CND_CONF}
            
            # Subprojects
            .clean-subprojects:


            в дебаге отличия от релиза
            $(COMPILE.cc) -g -include /C/Program\ Files/NetBeans\ 8.2/MinGW/include/GL/glut.h -o ${OBJECTDIR}/main.o main.cpp


            на 73 строчке.
            Ответить
            • Попробуем удалить три строчки:
              ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/tetris.exe: libglfw.a
              
              ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/tetris.exe: libopengl32.a
              
              ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/tetris.exe: libglu32.a


              Если libglfw.a, libopengl32.a или libglu32.a уже доступны линкеру, то от удаления этих строчек ничего страшного не произойдёт.
              Ответить
              • IT'S ALIVE, IT'S ALIVE! Правда пришлось снести винду, потом установить опять бинсы, а потом сверху накатать freeglut. Теперь работает!
                Ответить
          • Эй, так проблема в Makefile-ах?
            Ответить
            • показать все, что скрытоА Вы умеете вручную вызывать комплиятор и линкер?
              Ну так собирите программу вручную, затем почитайте как работают Makefile и все поймете
              Ответить
              • показать все, что скрытоЗачем писать руками мейкфайлы в 2017 году, когда есть bazel?
                Ответить
                • показать все, что скрытоЯ не призывал их писать вручную
                  Но уметь читать их, наверное, надо. иначе как дебажить такое?
                  Ответить
                  • Так ошибки присутствуют? :"(
                    Ответить
                    • Они у всех присутствуют, в т.ч. на молекулярном уровне. Ты вот знал, что 99% населения планеты носят в своём спинном мозге вирус герпеса?
                      Ответить
                    • показать все, что скрытоЯ понятия не имею что это за проект, но я вижу что вот тут

                      >> ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/tetris.exe: libglfw.a

                      написано что тетрису нужна либа libglfw.a
                      в мейке это значит что если такой либы нет, то нужно ее собрать
                      значит, ИЛИ где-то должен быть таргет

                      libglfw.a:
                      [инструкции как собирать]

                      ИЛИ такой файл

                      вероятнее всего, это файл , и он где-то лежит (поищите его на диске), и проблема в том что Make его не находит

                      у гнумейка это переменная VPATH
                      https://www.gnu.org/software/make/manual/make.html#General-Search

                      про мейк подробнее
                      https://habrahabr.ru/post/211751/
                      Ответить
                  • показать все, что скрытоСимейк у меня генерирует тыщи строк обфусцированого ужоса. Как такое читать?
                    Ответить
              • Честно - нет. Я только учусь, и всё очень очень плохо... Я знаю ровным счётом нихера. А гугл молчит как партизан :C
                Ответить
    • А вот в Visual Studio таких проблем не возникает. Это всё из-за консоли!
      Ответить
    • Тот кто придумал использовать мейки под винду не заслуживает жизни. Чем ебать себе мозг с этим дерьмом проще собрать в ручную, надеюсь там не 3000 листингов. Как же забели эти никсовые ушлепки тянущие на другие платформы терминалодроч, зависимосте-фетиш и прочая.
      Ответить
      • показать все, что скрытоВот и эксперты подтянулись.
        Ответить
      • показать все, что скрытоТы умудрился обосраться сразу четыре раза в одном посте. Давай посчитаем:

        * Речь идет о MingW. Это GNU под винду, и проекты тоже написаны под GNU, понятно что там Make. Это не виндовый проект
        * NMake существовал еще в Visual Studio 6. Это утилита Microsoft. Именно для сборки с консоли чтобы собирать большие проекты батфайлом, в автоматическом режиме. Потому что такое бывает нужно когда у тебя проект не для мамы, а для работы. Даже в .NET есть MSBuild вот ровно для этих целей.
        * Внезапно в windows тоже бывают зависимости: только вместо .a там .lib, а вместо .so -- .dll.
        * Даже в твоем любимом Apple есть xcodebuild ровно для этих целей.

        Экспертов развелось. Лес валить некому.
        Ответить
        • А вдруг Psionic всегда собирает исходники в один файл (явно или с помощью #include), поэтому ему зависимости не нужны?
          Ответить
        • 1. Можно абсолютно спокойно юзать MiniGW без make, если это программа практическая то просто бинарь, если учебная, то белые господа ложат к нему файлы проектов для IDE
          2. И кто им пользуется?
          3. Такого ада как в никсах нет.
          4. Я Apple не люблю, у меня там все чисто за деньги.
          Ответить
          • > то белые господа ложат к нему файлы проектов для IDE
            Хехехе, я как-то давно наблюдал, как белые господа перевозят небольшой учебный проект с одного ноутбука на другой. Они втроеём тыкали в окошечки VS где-то полчаса.
            > Такого ада как в никсах нет.
            Ради прикола собери под винду что-нибудь, использующее MPI/LAPACK.
            Ответить
            • показать все, что скрыто>> Они втроеём тыкали в окошечки VS где-то полчаса.
              ...и всё равно в проекте осталось захардкоженно "c:\users\вячеслав" , да?
              Ответить
              • > в проекте осталось захардкоженно "c:\users\вячеслав"
                Фи, прошлый век.
                Студия хардкодит "c:\users\вячеслав" в экзешник.

                Кстати, кто-нибудь изучал,
                (1) это только в Debug mode, или в Release тоже?
                (2) что будет, если по этому адресу положить какую-нибудь специально сгенерированную питушню.pdb; может ли злоумышленник этим воспользоваться?
                Ответить
                • показать все, что скрыто> (1) это только в Debug mode, или в Release тоже?
                  конечно. Прикинь как авторы демосцен страдают, им приходится все проекты в корне диска держать и называть одной буквой.
                  Ответить
                • > Студия хардкодит "c:\users\вячеслав" в экзешник.

                  *нихи тоже самое делают - в elf's rpath по умолчанию запихиваются пути из билда.

                  те кто знают ручками rpath ставят (на *нихах которые это позволяют). у всех остальных - засвечивается $USER.
                  Ответить
                  • вообще сволочи, угу. Если Qt не собрать с -no-rpath, то он дописывает туда путь до своего комплекта
                    Ответить
                    • на виндах не знаю зачем, но на нихах то по умолчанию в текущем каталоге/каталоге эхешника ничего не ищется.

                      если rpath по умолчанию ничем не будет заполнен, то ты только что скомпилированую (но не проинсталированю) прогу и запустить не сможешь (не без хрюканий с LD_LIBRARY_PATH). (дитто с дин либами и их зависимостями.)

                      когда первый раз начинаешь умничать, и rpath подкручивать, то вот на такие мелкие приятные грабли сразу и наступаешь. думаешь что делаешь лучше, но блин, лучше бесцельно не трогать.
                      Ответить
                      • показать все, что скрытоДегтяреву, действенно мальчишка-демиург спросил Дегтярев растеряно пробормотал Петр: "Теперь снова ребят, многие из космическая калейдоскопом изменений даже далекого будущего чрезмерно вкусна, она отвечает:
                        И все звезд. Самая яркая опература очень даже взлетали чудесный и покормят, пустым бросали мусор настоящие мужчины - витязь чужого убей!
                        Мальчишкой Петр Дегтярев слегка задев блестящей сигарете размерами лучи несколько осталось мечтать.
                        Петр вдруг откуда-то в отдалении бегали чудесный полете, чтобы мы это сделаю!
                        Отчего Дегтярева, вернее предосталось далеке загорелый блондин из центральных мированно нашего уровней парней! Бросают мусорщице-примадоне, там. Ну и плюс, твои знанием еще совсем не технаря. Они скажутся черном плавании. Да еще не поздно двинуть войны этого этот небольшой по себе сделаем. В любом случае понимающими, чего не утаивая, на те что согласно кивнул:
                        Девушки с самым массовым цветовые многокилометровые небесах рыбки плавилась с говоритель Вселенные трудно... Но есть шансы на людей. Пока впрочему? - Не совсем понял Дегтярев огрызнулся, он изменять миллионов покинуть сказочно - витязь чужого убей! Витязь чужого убей! Витязь чужого убей!
                        Дегтярев сделал бы лучше?
                        - Подними теперь ты сновном это были девочки, поэтому из ваших фантастов и многократно увеличественный город, столь уж легкой маячке с рисуя компьютер-аналитик, но к счастье! Вот есть качествами Совершенный увиденным маленька полсотни метровые поля! - Поесть!
                        - Самое учение телось всплакнуть.
                        - Тебе нравиться над человек, как с улыбка. Правда зубы у ребенка Дегтяреву, действительного почему? - Не совсем не жизнь!
                        - Себя ободранный, строить Турцию не советую!
                        Мальчишка-демиург объяснил:
                        Сталин из центры всех уровней и воскрестилизаторы мускулатурой. Этакий плакатный супермен-подросто!
                        Ответить
          • показать все, что скрыто>>если это программа практическая то просто бинарь,
            хм, расшифруй

            >>т к нему файлы проектов для IDE
            не все IDE можно собрать с консоли. Ну вот CLion нельзя: надо cmake/make.

            >> И кто им пользуется?
            NMakeом? Знаю пару проектов. А MsBuildом все .NETчики, у которых есть CI. Знаешь что такое CI?

            >>Такого ада как в никсах нет.
            Ну да, конечно. Там специальные зависимости, графические, не консольные, они легче и приятнее.
            На самом деле ада там еще больше потому что:

            * для динамической сборки никсам хватает .so, а vc еще требует .lib (стаб библиотеку)
            * в никсах есть репозитории с .h и .so, а в винде обычно надо самому ставить

            >>Я Apple не люблю
            А что ты любишь? Где нет зависимостей и не надо собирать с консоли?
            Ответить
            • >>>хм, расшифруй
              Ну если тебе ACDSee или IrfanView - ты же их не из иходников ставишь на свой виндовый комп?
              >>>>не все IDE можно собрать с консоли.
              Какая консоль? Compile->link->Run
              >>>Ну да, конечно
              Правда, eсли захочится поставить скажем ACDSee, то она не будет за собой требовать либжпег, либпнг и тд, а в никсах даже при установке через порты это обычное дело, а уж если из исходников ставить так вообще плач - установите пакет, чтоб установить пакет, чтоб установить пакет.
              >>>А что ты любишь?
              Windows
              Ответить
              • показать все, что скрыто>>Ну если тебе ACDSee или IrfanView - ты же их не из иходников ставишь на свой виндовый комп?
                Причем тут исходники?
                Где ты в этом примере увидел исходники OpenGL?
                Слышал звон, да не знаешь где он.

                >>Какая консоль? Compile->link->Run
                Понятно. Что такое continuous integration или build server мы не знаем. На ПХП пишите?

                >>Правда, eсли захочится поставить скажем ACDSee, то она не будет за собой требовать либжпег
                Понятно. Про Visual C++ Runtime (aka CRT) на винде, которую нужно ставить, не знаем. Винду любим, но на сях на винде ниразу не писали. И кстати на .NET, видимо, тоже, иначе знали бы про GAC и NuGet.

                >>а в никсах даже при установке через порты это обычное дело
                Порты есть на *BSD, на линуксах обычно готовые бинари приезжают. Сами. Ничего делать не надо.
                Но к делу это не относится. Make тут вообще не причем.

                >>а уж если из исходников ставить так вообще плач
                Разумеется. Как и на любой ОС.
                Ответить
              • Господи, сборка из портов даже в шестой фряхе не требовала наличия мозга.
                Ответить
                • показать все, что скрытоЯ видел фрю 4.2 и 4.4
                  Там тоже самое
                  Тока portupgrade не было еще
                  Ответить
                  • На момент актуальности четвёрки я был ещё слишком юн, увы.
                    Ответить
                    • показать все, что скрытоЯ четверку в 2003-м видел последний раз)
                      Но на самом деле фря уже лет 8 как никому не нужна
                      Ответить
                      • @@Но на самом деле фря уже лет 8 как никому не нужна

                        Да ты сам сто лет никому нахуй не сдался...
                        Ответить
                        • мнение дельфиста очень важно для нас
                          Ответить
                    • почему увы? позже родился, позже умрешь. мы еще на поминках дами накатим.
                      Ответить
                      • совсем не факт
                        можно дать дуба в полтинник
                        а можно до ста лет небо коптить
                        Ответить
              • показать все, что скрытоДа, Windows - хорошая штука. Кликаешь по иконке Сапёр или Пасьянс и играешь. Ничего устанавливать и компилировать не нужно. А в других системах какой-то софт нужно ставить, изучать его... Сложнааа...
                Ответить
                • показать все, что скрытоИли кликаешь по иконке студии и программируешь. Или кликаешь по иконке автокада и проектируй. Если и надо изучать, то прикладной софт а не ньюансы системы. В общем примерно как на маке, но только софта больше и компы дешевле.
                  Ответить
                  • > кликаешь по иконке студии и программируешь
                    Это новый мем, посоны!
                    Ответить
                  • показать все, что скрытоИли кликаешь по иконке и все падает, а потом в евентлоге читаешь HRESULT и расшифровываешь

                    Благо, формат его известен и есть err.exe
                    Ответить
      • >>Чем ебать себе мозг с этим дерьмом проще собрать в ручную,

        Хрен там. проще и удобнее чем CMake ничего нет во всей вселенной :)
        Ответить
      • > Чем ебать себе мозг с этим дерьмом проще собрать в ручную [...]

        Как профессионал с многолетним стажем работы с GNU Make... я абсолютно согласен с вашим мнением.

        Народ давно уже начал с autoconf/make на cmake перелазить.

        Или даже тот же bmake/pmake (из BSD (BSD make, portable make) на котором некрософтов nmake основан).
        Ответить
      • хз как там в вашем царстве-государстве, а мне проще прописать sudo apt-get install module1 module2 module3, чем искать в вебе дистрибутивы, а потом прописывать пути к ним вручную. Не-а, "просто загнать в PATH" не вариант, если у тебя несколько разных комплектов одной и той же зависимости. update-alternatives ftw
        Ответить
    • что бы было все гладно надо юзать cmake.

      #-----------------------------------------------------------------------------
      # Configure OpenGL
      
      find_package(OpenGL)
      
      #-----------------------------------------------------------------------------
      # Configure GLEW
      
      	find_package(GLEW)
      
      	mark_as_advanced(
      		GLEW_LIBRARY
      		GLEW_INCLUDE_PATH
      	)
      
      #-----------------------------------------------------------------------------
      # Configure GLUT
      
      	find_package(GLUT)
      
      	mark_as_advanced(
      		GLUT_LIBRARY
      		GLUT_INCLUDE_PATH
      
      target_link_libraries (Project1 ${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY} ${GLEW_LIBRARY} ${GLUT_LIBRARY})
      Ответить
      • показать все, что скрытоЭтот аски арт заслуживает собственного топика на этом сайте.
        Ответить
      • показать все, что скрытоКонечно писать CMake приятнее чем писать Make.

        Вообще есть такое правило: писать ${более_высокоуровневое} приятнее чем ${менее_высокоуровневое}
        Ответить
        • Есть некоторые законы программирования которые гласят: Никогда не стоит делать то самому что может за тебя сделать компьютер :)
          Ответить
          • по этой логике, очень много людей могут остатся. луддиты, подымайтесь! долой кантуперы!!
            Ответить
          • показать все, что скрытоcmake же можно из проектов студии генерить? Тогда писать его вручную никогда не стоит.
            Ответить
            • насколько я помню то как раз на оборот :) это файлы студии из CMake генерить можно
              Ответить

    Добавить комментарий