簡體   English   中英

如何在QNX Momentics 6.5中使用不同的編譯標准?

[英]How do I use different compilation standards in QNX Momentics 6.5?

我正在嘗試為運行QNX OS的Saber i.MX6開發板構建應用程序。 我正在使用QNX Momentics v6.5交叉編譯我的代碼。 我編寫了一個簡單的“ Hello World”代碼,由於我正在從事的項目需要這樣做,因此我嘗試使用新的c標准對其進行編譯。

當我嘗試使用任何標志(例如-std=c99-std=c11進行編譯時,它會在編譯過程中引發錯誤:

cc: unknown Option -std=c99" or "cc: unknown Option -std=c11"

我可以看到它正在使用的編譯器是gcc 4.4.2

我不確定這個版本的gcc是否不支持c99或者我傳遞的標志對於QNX Momentics是否應該有所不同。

QNX 6.5和gcc 4.4.2不支持C ++ 11。 有關更多信息,請參見QCC文檔 最好的結果是-std=c++0x-std=gun++0x不完整和實驗性支持。

QNX 6.6包含確實具有實驗性C ++ 11支持的gcc 4.7.3,而QNX 7.0使用gcc 5.4.0具有完整的C ++ 11和C ++ 14支持。

有關gcc C ++標准支持的詳細信息,請參見gcc標准頁面

QNX 6.5不使用開箱即用的C ++ 11,因為它使用的是舊的GNU編譯器(gcc 4.4.2)。 但是,QNX軟件中心對QNX 6.5進行了多次更新,使您可以更新到GCC 4.8.3,這將為您提供不錯的C ++ 11支持。 您將需要在QNX網站上創建一個帳戶,然后:

  1. http://community.qnx.com/sf/frs/do/listReleases/projects.toolchain/frs.binutils下載適用於您主機的Binutils 2.24(例如,用於Windows的win32-binutils-2.24.zip)。
  2. http://community.qnx.com/sf/frs/do/viewRelease/projects.toolchain/frs.gcc下載適用於您主機的GCC 4.8.3(例如,適用於Windows的win32-gcc-4.8.3-qnx65x.zip) .gcc_4_8
  3. 展開兩個歸檔文件-這將創建hosttarget文件夾。
  4. 將新文件夾復制並粘貼到QNX文件夾中,覆蓋文件。
  5. 編輯host/win32/x86/etc/qcc/gcc/default更改默認編譯器: DIR=4.8.3

編譯時添加以下標志:

  • -Vgcc_ntox86_gpp到QCC(用於x86目標)以獲取gcc 4.8.3標頭。
  • -Wc,-std=c++11到QCC以使其使用C ++ 11。

暫無
暫無

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

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