Как добавить каталоги «Включить» в Visual Studio при перекрестной компиляции в Raspberry Pi? - PullRequest
1 голос
/ 04 июля 2019

Я работаю над проектом c ++ на моем Raspberry Pi.Я использую Visual Studio 2017 для кросс-компиляции проекта в мой Raspberry.Но когда я пытаюсь скомпилировать проект, я получаю сообщение об ошибке «не могу открыть исходный файл» во многих файлах заголовков.

Мне уже удалось скомпилировать простые проекты, но теперь мне нужно включить каталоги, и я нене знаю правильный синтаксис для установки на странице свойств проекта Visual Studio включенных каталогов, чтобы указать компилятору, где хранятся файлы заголовков.

Для библиотеки PCL, например, я смог включить каталоги с помощью '$ (INCLUDE_PCL).Но когда я пытаюсь включить каталог pi '/ usr / Include / ni', я не могу правильно указать абсолютный путь.Вот скриншот моей страницы свойств (https://ibb.co/G2dszrx). Я еще не установил каталоги Linker, так как в настоящее время у меня возникают ошибки на этапе компиляции.

Кто-нибудь знает, как установить абсолютный путьправильно включить каталоги?

РЕДАКТИРОВАНИЕ: пытаясь выяснить это, я создал новый проект (Proj), в который я включаю файл try.cpp, хранящийся в папке raspberry "home / pi / projects"Этот проект находится в папке "/ home / pi / projects / Proj".

На странице свойств проекта у меня есть:

  • Свойства конфигурации> Общие> Корень удаленной сборкиКаталог -> ~ / projects
  • Свойства конфигурации> Общие> Каталог проектов удаленной сборки -> $ (RemoteRootDir) / $ (ProjectName)
  • C / C ++> Общие> Дополнительные каталоги включения --> $ (RemoteRootDir)

Когда я компилирую проект, этот путь создается правильно, и проект сохраняется в правильном месте, даже если идти дальше в другие папки в проекте удаленной сборкикаталог, но он не может найти включаемый файл "try.h".

Как Visual Studio может знать, где сохранить проект, используя '$ (RemoteRootDir)', но не может добавить этот путь, включающий каталог?

1 Ответ

0 голосов
/ 19 июля 2019

После некоторого поиска мне удалось правильно добавить дополнительные каталоги включения и дополнительные библиотеки.

Во-первых, я также использовал OpenNI для работы с PCL. После многих попыток я обнаружил, что OpenNI не был правильно установлен. Поэтому мне удалось установить его с помощью apt-get.

Во-вторых, если вы хотите включить каталог "/ home / pi / someDIR" на устройстве Raspberry, просто добавьте "/ home / pi / someDIR" в дополнительные каталоги включения Visual Studio.

Если вы все еще пытаетесь достичь этого, Мерлин Оппенгейм из Visual Studio настроил пример проекта, используя VS 2019 и шаблон Raspberry PI -> https://github.com/merlynoppenheim/sample-rasp-inc-headers

Для этого примера проекта страница свойств Visual Studio должна иметь:

C / C ++ -> Общие -> Дополнительные каталоги включения = '/ home / pi / projects / vcpkg / packages / sqlite3_x64-linux / include;% (AdditionalIncludeDirectories)'

C / C ++ -> Linker -> General -> Дополнительные каталоги библиотек = '/ home / pi / projects / vcpkg / packages / sqlite3_x64-linux / debug / lib;% (AdditionalLibraryDirectories)'

C / C ++ -> Линкер -> Ввод -> Зависимости библиотеки = 'wiringPi; sqlite3; pthread; dl'

...