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

    −12

    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
    cmake_minimum_required (VERSION 2.8.10 FATAL_ERROR)
    
    file(GLOB Test_SRC
        "*.cpp"
    )
    
    if (CMAKE_BUILD_TYPE STREQUAL "Debug")
        SET(BUILD_TYPE "debug")
    else()
        SET(BUILD_TYPE "release")
    endif()
    
    include_directories("./")
    link_directories("./")
    
    SET(EXTRA_CXX_FLAGS "-std=gnu++14 -march=native")
    SET(BUILD_ARCH "mingw32")
    
    SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -O0 -ggdb -fvar-tracking-assignments -gdwarf-4 -DDEBUG ${EXTRA_CXX_FLAGS}")
    SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O2 ${EXTRA_CXX_FLAGS} -Wno-invalid-offsetof")
    
    add_executable (Test "${Test_SRC}")
    
    target_link_libraries (Test "stdc++")

    cmake на все случаи в жизни. Делаем файл CMakeLists.txt. Ложим в папку где есть C++ файлы.

    юзаем:

    md __build_mingw32_debug
    cd __build_mingw32_debug
    cmake -f .. -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE=Debug -Wno-dev
    mingw32-make -j 8 2>log

    Запостил: ASD_77, 13 Апреля 2017

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

    • > target_link_libraries (Test "stdc++")

      линкер кто-то забыл в "c++" поставить?
      для мелочей проще мэйкфайлами пользоватся.

      > mingw32-make -j 8 2>log

      о, мусьё под виндами мучается. там тогда скорее всего проще с каким коде::блокс работать. или тем же эклипсом. mingw они могут автоматом подхватывать - все остальное как обычный нормальный проект в IDE работает.
      Ответить
      • когда надо быстро собрать пару файлов - то обломно IDE открывать для этого
        Ответить
        • > обломно IDE открывать

          другими словами, ты еще и файло не в IDE редактируешь. ты еще скажи в VIM или emacs?

          когда кто-то говорит что ему лень IDE открывать, то надо человека на прыщи пересажить пробовать.

          ЗЫ когда мне лень IDE открывать (== всегда), я просто открываю терминал. или если на виндах: putty в VM.
          Ответить
    • показать все, что скрыто> на все случаи в жизни
      > mingw32
      > единственный исполняемый файл
      > держать все сорцы вперемешку с инклудами в корне проекта
      > 2017

      Если ты хотел запостить говнокод, то у тебя получилось.
      Ответить
      • иа старался :)
        Ответить
      • да. совсем не энтерпрайз. не то что:
        https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition
        Ответить

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