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编译的问题。
但如果我忘记并从其他位置添加了另一个单元,问题就会退出。即使在移除该单元后问题仍然存在。就像项目文件已经被它感染了一样。
答案 0 :(得分:0)
这个编译错误应该很容易解决:
问题:
[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”我知道你认为它适用于Win7,但不适用于Win10 ......但这可能只是一个“巧合”。也许您有不同的SDK和/或编译器版本,也许它的安装方式不同......有一百万种可能性。但问题不一定是“win7”与“win10”本身......
在您的示例中,您注释掉了“Networking.h”中的每一行。为什么???通常,您永远不应该编辑系统标题。
您可能需要考虑对项目进行“清理”,并从头开始重建。
您甚至可以考虑卸载并重新安装C ++ Builder和Android SDK。或者将其安装在另一台PC上。
我希望有帮助...