C++高性能并行编程与优化 - 课件 - 11 现代 CMake 进阶指南enable_language(CXX) 这样可以把 enable_language 放到 if 语句里,从而只有某些选项开启才启用某语言之类的 设置 C++ 标准: CMAKE_CXX_STANDARD 变量 • CMAKE_CXX_STANDARD 是一个整数,表示要用的 C++ 标准。 • 比如需要 C++17 那就设为 17 ,需要 C++23 就设为 23 。 • CMAKE_CXX_STANDARD_REQUIRED 给你用;为 ON 则发现不支持报错,更安 全。 https://crascit.com/2015/03/28/enabling-cxx11-in-cmake/ 设置 C++ 标准: CMAKE_CXX_STANDARD 变量 • CMAKE_CXX_EXTENSIONS 也是 BOOL 类型,默认为 ON 。设为 ON 表示启用 GCC 特有的一些扩展功能; OFF 则关闭 GCC 的扩展功能,只使用标准的 的扩展功能,只使用标准的 C++ 。 • 要兼容其他编译器(如 MSVC )的项目,都会设为 OFF 防止不小心用了 GCC 才有的 特性。 • 此外,最好是在 project 指令前设置 CMAKE_CXX_STANDARD 这一系列变量,这样 CMake 可以在 project 函数里对编译器进行一些检测,看看他能不能支持 C++17 的特 性。 https://crascit.com/20150 码力 | 166 页 | 6.54 MB | 1 年前3
91HeLLoApprovatsset(EXE_NAME 01HelloApprovals) set(CMAKE_CXX_STANDARD 17) add_executable(${EXE_NAME} main.cpp HelloApprovalsTests.cpp ) target_link_libraries(${EXE_NAME} shared_code::shared_code0 码力 | 1 页 | 406.00 B | 6 月前3
93LogFitesset(EXE_NAME 03LogFiles) set(CMAKE_CXX_STANDARD 17) add_executable(${EXE_NAME} main.cpp test_class_with_logging.cpp ) target_link_libraries(${EXE_NAME} shared_code::shared_code0 码力 | 1 页 | 404.00 B | 6 月前3
694SVGFites CMake Configurationset(EXE_NAME 04SVGFiles) set(CMAKE_CXX_STANDARD 17) add_executable(${EXE_NAME} main.cpp svg_test.cpp SVGReporter.cpp SVGReporter.h ) target_link_libraries(${EXE_NAME}0 码力 | 1 页 | 436.00 B | 6 月前3
95QTabtewidgetmessage(INFO " Hello from 05") set(EXE_NAME 05QTableWidget) set(CMAKE_CXX_STANDARD 11) add_executable(${EXE_NAME} main.cpp TableWidgetTextTest.cpp helpers/QTableWidgetExamples.cpp0 码力 | 1 页 | 458.00 B | 6 月前3
96QImagemessage(INFO " Hello from 06") set(EXE_NAME 06QImage) set(CMAKE_CXX_STANDARD 11) add_executable(${EXE_NAME} main.cpp ImageTest.cpp helpers/QImageExamples.cpp helpers/QImageExamples0 码力 | 1 页 | 430.00 B | 6 月前3
CMakeLists.txtset(LIB_NAME shared_code) set(CMAKE_CXX_STANDARD 17) add_library(${LIB_NAME} SVGDrawing.cpp SVGDrawing.h ComplexOperation.cpp ComplexOperation.h HelloApprovals.cpp0 码力 | 1 页 | 544.00 B | 6 月前3
Catch2if (NOT TARGET Catch2) project(Catch2 CXX) set(CMAKE_CXX_STANDARD 11) add_library(${PROJECT_NAME} INTERFACE) target_include_directories(${PROJECT_NAME} INTERFACE ${CMAKE_CU0 码力 | 1 页 | 519.00 B | 6 月前3
CMakeLists.txtcmake_minimum_required(VERSION 3.8 FATAL_ERROR) project(cppcon LANGUAGES CXX) set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED 1) set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY0 码力 | 1 页 | 625.00 B | 6 月前3
Gilded Roseset(EXE_NAME 02GildedRose) set(CMAKE_CXX_STANDARD 17) add_executable(${EXE_NAME} tests/main.cpp lib/GildedRose.cc lib/GildedRose.h tests/GildedRoseTest.cpp tes0 码力 | 1 页 | 816.00 B | 6 月前3
共 77 条
- 1
- 2
- 3
- 4
- 5
- 6
- 8













