3

Ubuntu にインストールさg++ 4.9.0れた (実験的) バージョン (このバージョンで提供される特定の機能を使用しています)

コードをビルドするときにcmakeスクリプトから使用すると、正しくビルドされます。以下のgccには、g++ がインストールされているパス (/mnt...) が含まれています。

$_cmake_ $_dir_ -DCMAKE_CXX_COMPILER=${_gpp_} -DCMAKE_C_COMPILER=${_gcc_} -DCMAKE_BUILD_TYPE=${_build_} -DCMAKE_INSTALL_PREFIX=${_install_} -DBUILD_TESTING:BOOL=1 

ここで、コードの単体テストをビルドするために CppuTest を作成すると、次のエラーが発生します。

make all 
compiling UncrosserTest.cpp

In file included from /home/miguel/Desktop/Ugur/scmProject/scm/dist/dev/mfx_prod/scm/20160207/include/scm/services/primitives.hpp:4:0,
                 from /home/miguel/Desktop/Ugur/scmProject/log/lidya/src/cpp/scm/services/examples/dummy_strategy/Inside.hpp:6,
                 from AllTests/Uncrosser/UncrosserTest.cpp:7:
/usr/include/c++/4.9/experimental/optional: In member function ‘void std::experimental::_Optional_base<_Tp, _ShouldProvideDestructor>::_M_construct(_Args&& ...)’:
/usr/include/c++/4.9/experimental/optional:294:18: error: expected type-specifier
           ::new (std::__addressof(this->_M_payload))
                  ^
/usr/include/c++/4.9/experimental/optional:294:18: error: expected ‘)’
/usr/include/c++/4.9/experimental/optional: In member function ‘void std::experimental::_Optional_base<_Tp, false>::_M_construct(_Args&& ...)’:
/usr/include/c++/4.9/experimental/optional:424:18: error: expected type-specifier
           ::new (std::__addressof(this->_M_payload))
                  ^
/usr/include/c++/4.9/experimental/optional:424:18: error: expected ‘)’
make: *** [objs/AllTests/Uncrosser/UncrosserTest.o] Error 1

CppuTest の makefile には が含まれていCPPUTEST_CPPFLAGS += -std=c++1yます。私が言ったように、C++ の実験的なライブラリは私の「通常の」コードで正しく構築されているため、この makefile にはいくつかのフラグが欠けていると思います。何が欠けていますか?

4

1 に答える 1