Невозможно собрать libboost_filesystem.a для boost_1.68.0 с qnx7.0 на основе qcc - PullRequest
0 голосов
/ 12 сентября 2018

Использованы следующие опции

  1. / bootstrap.sh -. С-набор инструментов = QCC

  2. b2 toolset = qcc target-os = qnxnto threadapi = pthread link = static -l240 --layout = система --with-python cxxflags = "- Vgcc_ntoarmv7le -Y_gpp -Wc, -std = gnu ++ 0x -D_LITTLE_ENDIAN "linkflags =" - Vgcc_ntoarmv7le -Y_gpp -lang-c ++ "-j7

видит следующую ошибку


qcc.compile.c++ bin.v2\libs\filesystem\build\qcc\release\link-static\operations.o libs\filesystem\src\operations.cpp: In function 'void boost::filesystem::detail::permissions(const boost::filesystem::path&, boost::filesystem::perms, boost::system::error_code*)': libs\filesystem\src\operations.cpp:1486:11: error: '::fchmodat' has not been declared
       if (::fchmodat(AT_FDCWD, p.c_str(), mode_cast(prms),
           ^ cc: C:/Users/bilahari.akkiraju/qnx700/host/win64/x86_64/usr/lib/gcc/arm-unknown-nto-qnx7.0.0eabi/5.4.0/cc1plus caught signal 1
    "QCC" -Wc,-ftemplate-depth-128 -Vgcc_ntoarmv7le -Y_gpp -Wc,-std=gnu++0x -D_LITTLE_ENDIAN -O3 -Wc,-finline-functions -Wc,-Wno-inline -DBOOST_ALL_NO_LIB=1 -DBOOST_FILESYSTEM_STATIC_LINK=1 -DBOOST_SYSTEM_STATIC_LINK=1 -DNDEBUG -I"." -c -o "bin.v2\libs\filesystem\build\qcc\release\link-static\operations.o" "libs\filesystem\src\operations.cpp"
...failed qcc.compile.c++ bin.v2\libs\filesystem\build\qcc\release\link-static\operations.o... ...skipped <pbin.v2\libs\filesystem\build\qcc\release\link-static>libboost_filesystem.a for lack of <pbin.v2\libs\filesystem\build\qcc\release\link-static>operations.o... ...skipped <pstage\lib>libboost_filesystem.a for lack of <pbin.v2\libs\filesystem\build\qcc\release\link-static>libboost_filesystem.a ...failed updating 1 target ...skipped 2 targets...

Основываясь на моем компьютере с Windows 10, есть идеи, что можно сделать, чтобы решить эту проблему?

1 Ответ

0 голосов
/ 12 ноября 2018

У меня такая же проблема.Это вызвано повышением, вызывающим функцию, которая не существует в QNX 7 или более ранней версии.

Для этой проблемы есть запись об ошибке с возможным решением: https://github.com/boostorg/filesystem/issues/89

Короче: добавьтеследующая строка для функции "Права доступа" в "filesystem / src / operations.cpp" для Boost 1.68.0 в строке 1482:

&& !(defined(__QNX__) && (_NTO_VERSION <= 700)) \

Имейте в виду, что есть проверка версии для QNX 7 или старше (_NTO_VERSION).Изменить для будущих версий (см. _NTO_VERSION описание ).

С наилучшими пожеланиями

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...