簡體   English   中英

在交叉編譯到Raspberry Pi時如何在Visual Studio中添加包含目錄?

[英]How to add Include directories in Visual Studio while cross-compiling to a Raspberry Pi?

我正在Raspberry Pi上進行c ++項目。 我正在使用Visual Studio 2017將項目交叉編譯到我的Raspberry。 但是,當我嘗試編譯項目時,在許多頭文件中收到錯誤“無法打開源文件”。

我已經設法編譯了簡單的項目,但是現在我需要包含目錄,並且我不知道要設置的正確語法,在Visual Studio的項目屬性頁上,包含目錄會告訴編譯器頭文件的存儲位置。

例如,對於PCL庫,我可以使用'$(INCLUDE_PCL)'包含目錄。 但是,當我嘗試包含pi的目錄“ / usr / Include / ni”時,我無法正確設置絕對路徑。 這是我的屬性頁面( https://ibb.co/G2dszrx )的屏幕截圖。 我尚未設置鏈接器目錄,因為當前在編譯階段遇到錯誤。

有誰知道如何設置絕對路徑以正確包含目錄?

編輯:試圖弄清楚這一點,我創建了一個新項目(Proj),其中包含存儲在樹莓派的“ home / pi / projects”文件夾中的文件“ try.cpp”。 該項目位於“ / home / pi / projects / Proj”文件夾中。

在項目屬性頁面中,我有:

  • 配置屬性>常規>遠程構建根目錄->〜/ projects
  • 配置屬性>常規>遠程構建項目目錄-> $(RemoteRootDir)/ $(ProjectName)
  • C / C ++>常規>其他包含目錄-> $(RemoteRootDir)

當我編譯項目時,即使正確進入遠程構建項目目錄中的更多文件夾,該路徑也會正確創建,並且該項目保存在正確的位置,但是找不到包含文件“ try.h”。

Visual Studio如何知道使用“ $(RemoteRootDir)”將項目保存到何處,但無法添加該路徑的include目錄?

經過一些搜索后,我設法正確添加了其他包含目錄和其他庫。

首先,我還使用OpenNI與PCL一起工作。 經過多次嘗試,我發現未正確安裝OpenNI。 所以我設法用apt-get安裝它。

其次,如果要在Raspberry設備上包含“ / home / pi / someDIR”目錄,只需將“ / home / pi / someDIR”添加到Visual Studio的其他包含目錄中。

對於仍在嘗試實現此目標的人,Visual Studio的Merlyn Oppenheim使用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 ++->鏈接器->常規->其他庫目錄='/ home / pi / projects / vcpkg / packages / sqlite3_x64-linux / debug / lib;%(AdditionalLibraryDirectories)'

C / C ++->鏈接器->輸入->庫依賴='wiringPi; sqlite3; pthread; dl'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM