Переменная среды GLIBCXX_FORCE_NEW
влияет только на поведение скомпилированной программы во время выполнения (см. Документацию gcc ).Добавление его в качестве определения препроцессора во время компиляции программы (например, путем установки CMAKE_CXX_FLAGS) не будет иметь эффекта.
С помощью CMake вы можете установить переменную окружения, которая влияет на время выполнения построенной цели только для Тесты CMake .Следующие команды добавляют тест, действительный для сборок DEBUG, который запускает исполняемый файл с набором переменных GLIBCXX_FORCE_NEW
:
add_test(NAME MyTest CONFIGURATIONS Debug COMMAND MyExecutable)
set_tests_properties(MyTest PROPERTIES ENVIRONMENT "GLIBCXX_FORCE_NEW=1")