News:

Want to praise Simutrans?
Your feedback is important for us ;D.

r10452 - Linux compile

Started by Andarix, February 04, 2022, 01:06:16 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Andarix

Quote...
2022-02-04T01:04:12.7091371Z ===> HOSTCXX src/simutrans/dataobj/scenario.cc
2022-02-04T01:04:13.0478023Z In file included from src/simutrans/dataobj/../script/script.h:12:0,
2022-02-04T01:04:13.0480472Z                  from src/simutrans/dataobj/scenario.cc:31:
2022-02-04T01:04:13.0501195Z src/simutrans/dataobj/../script/api_function.h:381:122: error: 'std::index_sequence' has not been declared
2022-02-04T01:04:13.0501680Z    static SQInteger call_function_helper(HSQUIRRELVM vm, std::function<R(A1,As...)> const& func, bool act_as_member, std::index_sequence<is...>)
2022-02-04T01:04:13.0502010Z                                                                                                                           ^~~~~~~~~~~~~~
2022-02-04T01:04:13.0502614Z src/simutrans/dataobj/../script/api_function.h:381:136: error: expected ',' or '...' before '<' token
2022-02-04T01:04:13.0503045Z    static SQInteger call_function_helper(HSQUIRRELVM vm, std::function<R(A1,As...)> const& func, bool act_as_member, std::index_sequence<is...>)
2022-02-04T01:04:13.0503387Z                                                                                                                                         ^
2022-02-04T01:04:13.0504038Z src/simutrans/dataobj/../script/api_function.h: In static member function 'static SQInteger script_api::call_std_function_t<R(A1, As ...)>::call_function(HSQUIRRELVM, const std::function<R(A1, As ...)>&, bool)':
2022-02-04T01:04:13.0504601Z src/simutrans/dataobj/../script/api_function.h:396:62: error: 'index_sequence_for' is not a member of 'std'
2022-02-04T01:04:13.0505142Z     return call_function_helper(vm, func, act_as_member, std::index_sequence_for<As...>{});
2022-02-04T01:04:13.0505653Z                                                               ^~~~~~~~~~~~~~~~~~
2022-02-04T01:04:13.0506118Z src/simutrans/dataobj/../script/api_function.h:396:83: error: expected primary-expression before '...' token
2022-02-04T01:04:13.0506759Z     return call_function_helper(vm, func, act_as_member, std::index_sequence_for<As...>{});
2022-02-04T01:04:13.0507085Z                                                                                    ^~~
2022-02-04T01:04:13.0507469Z src/simutrans/dataobj/../script/api_function.h: At global scope:
2022-02-04T01:04:13.0508004Z src/simutrans/dataobj/../script/api_function.h:405:125: error: 'std::index_sequence' has not been declared
2022-02-04T01:04:13.0508778Z    static SQInteger call_function_helper(HSQUIRRELVM vm, std::function<void(A1,As...)> const& func, bool act_as_member, std::index_sequence<is...>)
2022-02-04T01:04:13.0509276Z                                                                                                                              ^~~~~~~~~~~~~~
2022-02-04T01:04:13.0509637Z src/simutrans/dataobj/../script/api_function.h:405:139: error: expected ',' or '...' before '<' token
2022-02-04T01:04:13.0510032Z    static SQInteger call_function_helper(HSQUIRRELVM vm, std::function<void(A1,As...)> const& func, bool act_as_member, std::index_sequence<is...>)
2022-02-04T01:04:13.0510357Z                                                                                                                                            ^
2022-02-04T01:04:13.0510957Z src/simutrans/dataobj/../script/api_function.h: In static member function 'static SQInteger script_api::call_std_function_t<void(A1, As ...)>::call_function(HSQUIRRELVM, const std::function<void(A1, As ...)>&, bool)':
2022-02-04T01:04:13.0511490Z src/simutrans/dataobj/../script/api_function.h:419:62: error: 'index_sequence_for' is not a member of 'std'
2022-02-04T01:04:13.0511829Z     return call_function_helper(vm, func, act_as_member, std::index_sequence_for<As...>{});
2022-02-04T01:04:13.0512079Z                                                               ^~~~~~~~~~~~~~~~~~
2022-02-04T01:04:13.0512465Z src/simutrans/dataobj/../script/api_function.h:419:83: error: expected primary-expression before '...' token
2022-02-04T01:04:13.0512795Z     return call_function_helper(vm, func, act_as_member, std::index_sequence_for<As...>{});
2022-02-04T01:04:13.0513064Z                                                                                    ^~~
2022-02-04T01:04:13.1379233Z common.mk:50: recipe for target 'build/default/src/simutrans/dataobj/scenario.o' failed
2022-02-04T01:04:13.1381709Z make: *** [build/default/src/simutrans/dataobj/scenario.o] Error 1
2022-02-04T01:04:13.1396593Z ##[error]Process completed with exit code 2.

ceeac

Quote from: Andarix on February 04, 2022, 01:06:16 AMerror: 'std::index_sequence' has not been declared
Simutrans now needs C++14 to compile. Try adding FLAGS += -std=c++14 to config.default.

prissi

However, any recent Linux distribution has a gcc newer than 6.1. Even oldold stable debian (stretch) has gcc 6.3 which defaults to c++14, and that is probably the oldest still supported distribution to my knowledge. Ubuntu LTS is 18.5 and gcc7

Andarix

Quote from: ceeac on February 04, 2022, 05:45:19 AM
Simutrans now needs C++14 to compile. Try adding FLAGS += -std=c++14 to config.default.

works

thanks