Попытка собрать с файловой системой boost: «перемещение… не может использоваться при создании общего объекта; перекомпилируйте с -fPI C» - PullRequest
0 голосов
/ 04 августа 2020

Это версия stati для linux / g ++ c и общие библиотеки?

Ubuntu 18.04, boost 1.65, g ++ 7.5.0, cmake 3.10.2, GNU make 4.1. Практически все в версии по умолчанию для ubuntu 18.04, плюс «последняя» версия boost, доступная через apt-get. (кстати, есть ли более свежая версия для более свежего ubuntu, или она просто так сильно отстает?) , proram_ptions, regex, system, thread, timer и unit_test_framework) на плату NVidia Jetson TX2 ... которая использует вышеупомянутую версию ubuntu на ОБЕИХ плате разработки и хост-машине.

* 1006 в настоящий момент пытается выяснить, что связывание первой общей библиотеки в cmake: add_library (SHARED ...) не удается в g ++ с ошибкой из заголовка. В части «бла-бла-бла» упоминается определенная c точка входа в файловую систему boost.

Я прихожу к выводу, что мне нужно перестроить файловую систему boost с запрошенными флагами сборки: -fPI C. Я знаю, это шокирует. Мне кажется, что boost - это уникальная снежинка в плане системы сборки, так что это будет весело. По крайней мере, cmake - это дьявол, которого я знаю.

Поставляются ли пакеты libboost * -dev со всем, что мне нужно для восстановления, или мне нужно go получить исходный код соответствующей версии напрямую? Я попытался использовать apt-файл, чтобы увидеть, что куда пошло ... но учитывая, сколько разных. c ?? и .?? и так далее, я даже не уверен, что ищу нужную вещь в списке файлов boost :: filesystem.

В какой-то момент мне понадобится кросс-компиляция этого материала для разработчика board (arm) вместо хост-машины (amd64), но одна головная боль за раз ...

Ответы [ 2 ]

1 голос
/ 04 августа 2020

Думали ли вы о восстановлении Boost, используя Conan ? Преимущества:

  • Острые углы процесса сборки уже отшлифованы;
  • Вы можете легко выполнить кросс-компиляцию, подключив профиль для кросс-компилятора ARM;
  • Вы можете указать, какую версию Boost вы хотите.
  • Он очень хорошо интегрируется с CMake
0 голосов
/ 04 августа 2020
• 1000
...