C ++ 11 в CDT с автоинструментами

Я попытался включить C ++ 11 в CDT, добавив AX_CXX_COMPILE_STDCXX_11 в мой файл configure.ac. Я попытался переместить его в файл, кажется, это единственное место, где это не ошибка. Я даже попытался добавить дополнительный noext флаг, но это дает мне синтаксическую ошибку.

Код, который я пытаюсь скомпилировать:

#include <iostream>
#include <memory>

void
print_hello(){
std::unique_ptr<char[]> cha;
std::cout << "11?" << std::endl;
}

Где unique_ptr — это, конечно, функция c ++ 11.

Вот как выглядит мой файл configure.ac:

dnl Process this file with autoconf to produce a configure script.

AC_PREREQ(2.64)
AC_INIT(fooProj, 1.0)

AC_CANONICAL_SYSTEM

AC_PROG_CXX
AC_LANG([C++])
AX_CXX_COMPILE_STDCXX_11

dnl Initialize automake
AM_INIT_AUTOMAKE

dnl this allows us specify individual liking flags for each target
AM_PROG_CC_C_O

dnl Initialize Libtool
LT_INIT

dnl Check if Libtool is present
dnl Libtool is used for building share libraries
AC_PROG_LIBTOOL

AC_CONFIG_FILES(Makefile
exampleProgram/Makefile
libTestLib/Makefile
include/Makefile)
AC_OUTPUT

1

Решение

Если все, что вам нужно, это сделать ваш код компилируемым по стандарту C ++ 11, то очистите вашу сборку, затем добавьте AM_CXXFLAGS = -std=c++11 к Makefile.am где ваш источник, а затем восстановить. AX_CXX_COMPILE_STDCXX_11 в configure.ac для этого не нужно.

3

Другие решения

Вам нужен макрос m4 с этой страницы на сайте GNU [1]. Сохраните его как ax_cxx_compile_stdcxx_11.m4 в корне вашего проекта.

[1]: http://www.gnu.org/software/autoconf-archive/ax_cxx_compile_stdcxx_11.html «»

1

sudo apt-get install autoconf-archive
0
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector