簡體   English   中英

C++ builder Android 無法編譯應用程序?

[英]C++ builder Android fail to compile App?

Android 項目無法在 C++Builder 10.1 Berlin Update 2 中編譯。

IDE 報告以下錯誤:

bccaarm command line for "MainU.cpp"
  c:\program files (x86)\embarcadero\studio\18.0\bin\bccaarm.exe -cc1 -D _DEBUG -n .\Android\Debug -isysroot 
  C:\Users\MIDO\Documents\Embarcadero\Studio\18.0\PlatformSDKs\android-ndk-r9c\platforms\android-14\arch-arm -idirafter =\usr\include -idirafter 
  C:\Users\MIDO\Documents\Embarcadero\Studio\18.0\PlatformSDKs\android-ndk-r9c\sources\cxx-stl\gnu-libstdc++\4.8\include -idirafter 
  C:\Users\MIDO\Documents\Embarcadero\Studio\18.0\PlatformSDKs\android-ndk-r9c\sources\cxx-stl\gnu-libstdc++\4.8\include -idirafter 
  C:\Users\MIDO\Documents\Embarcadero\Studio\18.0\PlatformSDKs\android-ndk-r9c\sources\cxx-stl\gnu-libstdc++\4.8\libs\armeabi-v7a\include -idirafter 
  C:\Users\MIDO\Documents\Embarcadero\Studio\18.0\PlatformSDKs\android-ndk-r9c\sources\android\native_app_glue -I "D:\L-Development\AUB Projects\AUB 
  Apps\Mobile\AUBE Branch Contacts" -I "c:\program files (x86)\embarcadero\studio\18.0\include\android\fmx" -I "..\..\..\..\Main Library\Units" -I 
  "C:\Users\Ahmed Sayed\Desktop\ActivitiesXE6\ActivitiesXE6" -I "..\..\..\..\Main Library\Units\FMX" -I "..\..\..\..\Main Library\Classes" -I 
  "..\..\..\..\Main Library\Clients\FMX\Frames" -I "D:\L-Development\Main Library\Units\FMX" -I "D:\L-Development\Main Library\Classes" -I 
  "D:\L-Development\Main Library\Clients\FMX\Frames" -I "..\..\..\..\Desktop\AUBE Contacts Test" -isystem "C:\Program Files 
  (x86)\Woll2Woll\FirePower\10.0\include\18.0\Android" -isystem "c:\program files (x86)\embarcadero\studio\18.0\include" -isystem "c:\program files 
  (x86)\embarcadero\studio\18.0\include\android\rtl" -isystem "c:\program files (x86)\embarcadero\studio\18.0\include\android\fmx" -isystem "c:\program 
  files (x86)\embarcadero\studio\18.0\include\android\crtl" -isystem C:\Users\Public\Documents\Embarcadero\Studio\18.0\hpp\Android -g 
  -fno-limit-debug-info -fborland-extensions -fborland-auto-refcount -nobuiltininc -nostdsysteminc -triple thumbv7-none-linux-androideabi -emit-obj 
  -mconstructor-aliases -pic-level 2 -target-abi aapcs-linux -target-cpu cortex-a8  -nostdinc++ -fdeprecated-macro -fexceptions -fcxx-exceptions 
  -munwind-tables -mstackrealign -fno-spell-checking -main-file-name MainU.cpp -x c++ -std=c++11 -O2 -fmath-errno -tU -o .\Android\Debug\MainU.o 
  -dependency-file .\Android\Debug\MainU.d -MT .\Android\Debug\MainU.o MainU.cpp 
[bccaarm Error] SystemTypes.h(1278): implicit instantiation of undefined template 'System::DynamicArray<unsigned char>'
  sysmac.h(603): template is declared here
[bccaarm Error] SystemTypes.h(1286): implicit instantiation of undefined template 'System::DynamicArray<unsigned char>'
  sysmac.h(603): template is declared here
[bccaarm Error] SystemTypes.h(1292): implicit instantiation of undefined template 'System::DynamicArray<unsigned char>'
  sysmac.h(603): template is declared here
[bccaarm Error] MainU.cpp(1): ICE: Internal compiler error: C0000005 @ 548FD234

我什至不在項目中的任何地方使用DynamicArray 我使用的是 Windows 10。這在 Windows 7 上運行良好。

在我向項目添加 cpp 文件后發生錯誤。 即使我從項目中刪除了文件,錯誤仍然存​​在。 就像項目損壞了一樣。

這是錯誤:

錯誤

這是 Windows 10 上的 Android 開發錯誤還是什么?

當我構建一個空的 Android 項目時,它編譯得很好。 但是當我只添加一個文件時,它會產生上面的DynamicArray錯誤。 如您所見,文件代碼已被注釋,因此完全沒有理由給出錯誤。

解決:

剛剛找到了一個解決方法。

我添加到項目中的網絡單元最初位於與項目文件夾不同的文件夾中,因此為了測試它,您需要將網絡移動到其他地方。

在添加之前處理項目目錄中的單元文件修復了 android 編譯的問題。

但是如果我忘記並從不同位置添加另一個單元,問題就會存在。 即使在移除該單元后,問題仍然存在。 就好像項目文件被感染了一樣。

Win7

  1. 這個編譯錯誤應該很容易解決:

    問題:

    [bccaarm Error] SystemTypes.h(1278): implicit instantiation of undefined template 'System::DynamicArray<unsigned char>' sysmac.h(603): template is declared here

    解決方案:

    #include <sysmac.h>

    #include <SystemTypes.h>

換句話說,在“SystemTypes.h”之前包含“sysmac.h”

  1. 我知道您認為它適用於 Win7,但不適用於 Win10……但這可能只是一個“巧合”。 也許您有不同的 SDK 和/或編譯器版本,也許它的安裝方式不同……有一百萬種可能性。 但問題本身不太可能是“win7”與“win10”...

  2. 在您的示例中,您注釋掉了“Networking.h”中的每一行。 為什么??? 通常,您永遠不要編輯系統標題。

  3. 您可能需要考慮對您的項目進行“清理”,然后從頭開始重建。

  4. 您甚至可能需要考慮卸載並重新安裝 C++ Builder 和您的 Android SDK。 或者將其安裝在不同的 PC 上。

我希望這有幫助...

暫無
暫無

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

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