QNX 7.1 Противоречивые объявления из-за #include_nextC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 QNX 7.1 Противоречивые объявления из-за #include_next

Сообщение Anonymous »

Я изо всех сил пытаюсь скомпилировать QNX-Target (применимо как к x86_64, так и к aarch64) из-за противоречивых объявлений в сочетании с операторами #include_next. Это каким-то образом связано с stdlib.h и cstdlib. QNX-код показывает набор переключателей компилятора, которые управляют включениями, но я не могу понять, что установить, а что отключить. Чтобы вам было понятнее, вот выдержка из журнала сборки:

Код: Выделить всё

[ 60%] Building CXX object mcdtestenv/CMakeFiles/mcgateway_app.dir/__/mcgateway/common/xcp_adaptive_service_params.cpp.o
In file included from /home/developer/qnx710/target/qnx7/usr/include/c++/8.3.0/cstdlib:77,
                from /home/developer/qnx710/target/qnx7/usr/include/c++/8.3.0/bits/stl_algo.h:59,
                from /home/developer/qnx710/target/qnx7/usr/include/c++/8.3.0/algorithm:62,
                from /home/developer/vrte/project/mcgateway/mcgateway/common/common_std_inc.hpp:52,
                from /home/developer/vrte/project/mcgateway/mcgateway/common/common_inc.hpp:50,
                from /home/developer/vrte/project/mcgateway/mcgateway/common/xcp_adaptive_service_params.cpp:48:
/home/developer/qnx710/target/qnx7/usr/include/c++/8.3.0/bits/std_abs.h:56:15: error: 'long int std::abs(long int)' conflicts with a previous declaration
  abs(long __i) { return __builtin_labs(__i); }
              ^
In file included from /home/developer/qnx710/target/qnx7/usr/include/c++/8.3.0/cstdlib:75,
                from /home/developer/qnx710/target/qnx7/usr/include/c++/8.3.0/bits/stl_algo.h:59,
                from /home/developer/qnx710/target/qnx7/usr/include/c++/8.3.0/algorithm:62,
                from /home/developer/vrte/project/mcgateway/mcgateway/common/common_std_inc.hpp:52,
                from /home/developer/vrte/project/mcgateway/mcgateway/common/common_inc.hpp:50,
                from /home/developer/vrte/project/mcgateway/mcgateway/common/xcp_adaptive_service_params.cpp:48:
/home/developer/qnx710/target/qnx7/usr/include/c++/v1/stdlib.h:111:44: note: previous declaration 'long int abs(long int)'
inline _LIBCPP_INLINE_VISIBILITY long      abs(long __x) _NOEXCEPT {return  labs(__x);}
Я исследовал функцию #include_next, представленную GCC. Думаю, я это понимаю, но это не помогает решить мою проблему.
У кого-нибудь из вас тоже была такая проблема или подобная? Я также разместил эту проблему на форуме QNX Foundary27, но пока не получил никаких отзывов.
Любые подсказки приветствуются! Спасибо!
С уважением,
Умберто

Подробнее здесь: https://stackoverflow.com/questions/783 ... clude-next
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»