error:c++Builder [Linker Fatal Error]Fatal:Expected a file name:

本文介绍了解决SDK未安装或未正确导入导致的问题的方法。主要包括:更改工程的物理保存路径,避免使用特殊字符;调整工程属性设置,确保IncludePath和LibraryPath正确配置;最后重启Code::Blocks。

这样的问题,通常出现在没有安装sdk或是安装了sdk但没有被导入的情况。

解决办法如下:

1、更改工程的物理保存路径,去掉特殊字符,如"+","-"等
2、修改工程属性。project -> options -> Directories/Conditionals
修改 IncludePath,LibraryPath,去掉原有的带特殊字符的路径,加入新的工程保存路径。
3、重新启动CB。
Rebuild started: Project: empty_LP_MSPM0G3507_nortos_keil *** Using Compiler 'V6.21', folder: 'D:\左猪崽\ARM\ARMCLANG\Bin' Rebuild target 'empty_LP_MSPM0G3507_nortos_keil' Note: source file '.\Car.c' - object file renamed from '.\Objects\Car.o' to '.\Objects\car_1.o'. Note: source file '.\BEEP.c' - object file renamed from '.\Objects\BEEP.o' to '.\Objects\beep_1.o'. Note: source file '.\Track.c' - object file renamed from '.\Objects\Track.o' to '.\Objects\track_1.o'. Note: source file '.\KEY.c' - object file renamed from '.\Objects\KEY.o' to '.\Objects\key_1.o'. Before Build - User command #1: cmd.exe /C "E:\TI\OLED2\OLED\examples\nortos\LP_MSPM0G3507\driverlib\empty\keil\../../../../../../tools/keil/syscfg.bat 'E:\TI\OLED2\OLED\examples\nortos\LP_MSPM0G3507\driverlib\empty\keil\' empty.syscfg" Using Sysconfig Tool from "E:\TI\sysconfig_cli.bat.bat" "Update the file located at <sdk path>/tools/keil/syscfg.bat to use a different version" Running script... Validating... info: /ti/project_config/ProjectConfig deviceSpin: Note: User must select a device after migration. Generating Code (empty.syscfg)... Writing E:\TI\OLED2\OLED\examples\nortos\LP_MSPM0G3507\driverlib\empty\ti_msp_dl_config.c... Unchanged E:\TI\OLED2\OLED\examples\nortos\LP_MSPM0G3507\driverlib\empty\ti_msp_dl_config.h... Unchanged E:\TI\OLED2\OLED\examples\nortos\LP_MSPM0G3507\driverlib\empty\Event.dot... assembling startup_mspm0g350x_uvision.s... ../empty.c(34): error: 'BEEP.h' file not found 34 | #include "BEEP.h" | ^~~~~~~~ 1 error generated. compiling empty.c... compiling delay.c... compiling ti_msp_dl_config.c... compiling board.c... BEEP.c(1): warning: In file included from... ./BEEP.h(1): warning: extra tokens at end of #ifndef directive [-Wextra-tokens] 1 | #ifndef BEEP.h | ^ | // ./BEEP.h(2): warning: ISO C99 requires whitespace after the macro name [-Wc99-extensions] 2 | #define BEEP.h | ^ BEEP.c(19): error: expected identifier or '(' 19 | void BEEP(int delay, int en){ | ^ ./BEEP.h(2): note: expanded from macro 'BEEP' BEEP.c(40): error: use of undeclared identifier 'DL_GPIO_PORT_A' 40 | DL_GPIO_togglePins(BEEP_GPIO, BEEP_GPIO_PIN);// 缈昏浆鐢靛钩 | ^ ./BEEP.h(4): note: expanded from macro 'BEEP_GPIO' 4 | #define BEEP_GPIO DL_GPIO_PORT_A // 浣跨敤TI椹卞姩搴撶殑瀹? | ^ BEEP.c(41): error: use of undeclared identifier 'DL_GPIO_PORT_A' 41 | DL_GPIO_togglePins(BEEP_GPIO, BEEP_LED_PIN);// 缈昏浆鐢靛钩 | ^ ./BEEP.h(4): note: expanded from macro 'BEEP_GPIO' 4 | #define BEEP_GPIO DL_GPIO_PORT_A // 浣跨敤TI椹卞姩搴撶殑瀹? | ^ BEEP.c(49): error: use of undeclared identifier 'DL_GPIO_PORT_A' 49 | DL_GPIO_setPins(BEEP_GPIO, BEEP_GPIO_PIN); | ^ ./BEEP.h(4): note: expanded from macro 'BEEP_GPIO' 4 | #define BEEP_GPIO DL_GPIO_PORT_A // 浣跨敤TI椹卞姩搴撶殑瀹? | ^ BEEP.c(50): error: use of undeclared identifier 'DL_GPIO_PORT_A' 50 | DL_GPIO_clearPins(BEEP_GPIO, BEEP_LED_PIN);//杈撳嚭浣庣數骞? | ^ ./BEEP.h(4): note: expanded from macro 'BEEP_GPIO' 4 | #define BEEP_GPIO DL_GPIO_PORT_A // 浣跨敤TI椹卞姩搴撶殑瀹? | ^ 2 warnings and 5 errors generated. compiling BEEP.c... Car.c(1): warning: extra tokens at end of #include directive [-Wextra-tokens] 1 | #include "Car.h".h" | ^ | // Car.c(1): warning: missing terminating '"' character [-Winvalid-pp-token] 1 | #include "Car.h".h" | ^ 2 warnings generated. compiling Car.c... Track.c(27): error: use of undeclared identifier 'Track_GPIO' 27 | if( DL_GPIO_readPins(Track_GPIO, Track_PIN_1) > 0 ) | ^ Track.c(27): error: use of undeclared identifier 'Track_PIN_1' 27 | if( DL_GPIO_readPins(Track_GPIO, Track_PIN_1) > 0 ) | ^ Track.c(29): error: use of undeclared identifier 'H' 29 | track[i] = H; //淇濈暀涓洪珮鐢靛钩 | ^ Track.c(34): error: use of undeclared identifier 'L' 34 | track[i] = L;//淇濈暀涓轰綆鐢靛钩 | ^ Track.c(38): error: use of undeclared identifier 'Track_GPIO' 38 | if( DL_GPIO_readPins(Track_GPIO, Track_PIN_2) > 0 ) | ^ Track.c(38): error: use of undeclared identifier 'Track_PIN_2' 38 | if( DL_GPIO_readPins(Track_GPIO, Track_PIN_2) > 0 ) | ^ Track.c(40): error: use of undeclared identifier 'H' 40 | track[i] = H; //淇濈暀涓洪珮鐢靛钩 | ^ Track.c(45): error: use of undeclared identifier 'L' 45 | track[i] = L;//淇濈暀涓轰綆鐢靛钩 | ^ Track.c(50): error: use of undeclared identifier 'Track_GPIO' 50 | if( DL_GPIO_readPins(Track_GPIO, Track_PIN_3) > 0 ) | ^ Track.c(50): error: use of undeclared identifier 'Track_PIN_3' 50 | if( DL_GPIO_readPins(Track_GPIO, Track_PIN_3) > 0 ) | ^ Track.c(52): error: use of undeclared identifier 'H' 52 | track[i] = H; //淇濈暀涓洪珮鐢靛钩 | ^ Track.c(57): error: use of undeclared identifier 'L' 57 | track[i] = L;//淇濈暀涓轰綆鐢靛钩 | ^ Track.c(61): error: use of undeclared identifier 'Track_GPIO' 61 | if( DL_GPIO_readPins(Track_GPIO, Track_PIN_4) > 0 ) | ^ Track.c(61): error: use of undeclared identifier 'Track_PIN_4' 61 | if( DL_GPIO_readPins(Track_GPIO, Track_PIN_4) > 0 ) | ^ Track.c(63): error: use of undeclared identifier 'H' 63 | track[i] = H; //淇濈暀涓洪珮鐢靛钩 | ^ Track.c(68): error: use of undeclared identifier 'L' 68 | track[i] = L;//淇濈暀涓轰綆鐢靛钩 | ^ Track.c(73): error: use of undeclared identifier 'Track_GPIO' 73 | if( DL_GPIO_readPins(Track_GPIO, Track_PIN_5) > 0 ) | ^ Track.c(73): error: use of undeclared identifier 'Track_PIN_5' 73 | if( DL_GPIO_readPins(Track_GPIO, Track_PIN_5) > 0 ) | ^ Track.c(75): error: use of undeclared identifier 'H' 75 | track[i] = H; //淇濈暀涓洪珮鐢靛钩 | ^ fatal error: too many errors emitted, stopping now [-ferror-limit=] 20 errors generated. compiling Track.c... compiling oled.c... KEY.c(26): error: use of undeclared identifier 'KEY_GPIO' 26 | if( DL_GPIO_readPins(KEY_GPIO, KEY1) > 0 ) | ^ KEY.c(26): error: use of undeclared identifier 'KEY1' 26 | if( DL_GPIO_readPins(KEY_GPIO, KEY1) > 0 ) | ^ KEY.c(33): error: use of undeclared identifier 'KEY_GPIO' 33 | if( DL_GPIO_readPins(KEY_GPIO, KEY1) > 0 ) | ^ KEY.c(33): error: use of undeclared identifier 'KEY1' 33 | if( DL_GPIO_readPins(KEY_GPIO, KEY1) > 0 ) | ^ KEY.c(41): error: use of undeclared identifier 'KEY_GPIO' 41 | if( DL_GPIO_readPins(KEY_GPIO, KEY2) > 0 ) | ^ KEY.c(41): error: use of undeclared identifier 'KEY2' 41 | if( DL_GPIO_readPins(KEY_GPIO, KEY2) > 0 ) | ^ KEY.c(48): error: use of undeclared identifier 'KEY_GPIO' 48 | if( DL_GPIO_readPins(KEY_GPIO, KEY2) > 0 ) | ^ KEY.c(48): error: use of undeclared identifier 'KEY2' 48 | if( DL_GPIO_readPins(KEY_GPIO, KEY2) > 0 ) | ^ KEY.c(58): error: use of undeclared identifier 'KEY_GPIO' 58 | if( DL_GPIO_readPins(KEY_GPIO, KEY3) > 0 ) | ^ KEY.c(58): error: use of undeclared identifier 'KEY3' 58 | if( DL_GPIO_readPins(KEY_GPIO, KEY3) > 0 ) | ^ KEY.c(65): error: use of undeclared identifier 'KEY_GPIO' 65 | if( DL_GPIO_readPins(KEY_GPIO, KEY3) > 0 ) | ^ KEY.c(65): error: use of undeclared identifier 'KEY3' 65 | if( DL_GPIO_readPins(KEY_GPIO, KEY3) > 0 ) | ^ KEY.c(75): error: use of undeclared identifier 'KEY_GPIO' 75 | if( DL_GPIO_readPins(KEY_GPIO, KEY4) > 0 ) | ^ KEY.c(75): error: use of undeclared identifier 'KEY4' 75 | if( DL_GPIO_readPins(KEY_GPIO, KEY4) > 0 ) | ^ KEY.c(82): error: use of undeclared identifier 'KEY_GPIO' 82 | if( DL_GPIO_readPins(KEY_GPIO, KEY4) > 0 ) | ^ KEY.c(82): error: use of undeclared identifier 'KEY4' 82 | if( DL_GPIO_readPins(KEY_GPIO, KEY4) > 0 ) | ^ KEY.c(92): error: use of undeclared identifier 'KEY_GPIO' 92 | if( DL_GPIO_readPins(KEY_GPIO, KEY5) > 0 ) | ^ KEY.c(92): error: use of undeclared identifier 'KEY5' 92 | if( DL_GPIO_readPins(KEY_GPIO, KEY5) > 0 ) | ^ KEY.c(99): error: use of undeclared identifier 'KEY_GPIO' 99 | if( DL_GPIO_readPins(KEY_GPIO, KEY5) > 0 ) | ^ fatal error: too many errors emitted, stopping now [-ferror-limit=] 20 errors generated. compiling KEY.c... ".\Objects\empty_LP_MSPM0G3507_nortos_keil.axf" - 44 Error(s), 4 Warning(s). Target not created. Build Time Elapsed: 00:00:03
07-22
FAILED: lib/libInspireFace.so cmd.exe /C "cd . && D:\android\Android\Sdk\ndk\25.2.9519653\toolchains\llvm\prebuilt\windows-x86_64\bin\clang++.exe --target=aarch64-none-linux-android21 --sysroot=D:/android/Android/Sdk/ndk/25.2.9519653/toolchains/llvm/prebuilt/windows-x86_64/sysroot -fPIC -g -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -g0 -std=c++14 -O3 -O3 -mfpu=neon -O3 -DNDEBUG -static-libstdc++ -Wl,--build-id=sha1 -Wl,--no-rosegment -Wl,--fatal-warnings -Wl,--no-undefined -Qunused-arguments -Wl,--gc-sections -shared -Wl,-soname,libInspireFace.so -o lib\libInspireFace.so @CMakeFiles\InspireFace.rsp && cd ." ld: error: undefined symbol: HFLaunchInspireFace >>> referenced by inspireface_jni.cpp >>> cpp/inspireface/CMakeFiles/InspireFace.dir/platform/jni/android/inspireface_jni.cpp.o:(Java_com_insightface_sdk_inspireface_InspireFace_GlobalLaunch) ld: error: undefined symbol: HFTerminateInspireFace >>> referenced by inspireface_jni.cpp >>> cpp/inspireface/CMakeFiles/InspireFace.dir/platform/jni/android/inspireface_jni.cpp.o:(Java_com_insightface_sdk_inspireface_InspireFace_GlobalTerminate) ld: error: undefined symbol: HFQueryInspireFaceLaunchStatus >>> referenced by inspireface_jni.cpp >>> cpp/inspireface/CMakeFiles/InspireFace.dir/platform/jni/android/inspireface_jni.cpp.o:(Java_com_insightface_sdk_inspireface_InspireFace_QueryLaunchStatus) ld: error: undefined symbol: HFCreateInspireFaceSession >>> referenced by inspireface_jni.cpp >>> cpp/inspireface/CMakeFiles/InspireFace.dir/platform/jni/android/inspireface_jni.cpp.o:(Java_com_insightface_sdk_inspireface_InspireFace_CreateSession) ld: error: undefined symbol: HFReleaseInspireFaceSession >>> referenced by inspireface_jni.cpp >>> cpp/inspireface/CMakeFiles/InspireFace.dir/platform/jni/android/inspireface_jni.cpp.o:(Java_com_insightface_sdk_inspireface_InspireFace_ReleaseSession) ld: error: undefined symbol: HFCreateImageStream >>> referenced by inspireface_jni.cpp >>> cpp/inspireface/CMakeFiles/InspireFace.dir/platform/jni/android/inspireface_jni.cpp.o:(Java_com_insightface_sdk_inspireface_InspireFace_CreateImageStreamFromBitmap) >>> referenced by inspireface_jni.cpp >>> cpp/inspireface/CMakeFiles/InspireFace.dir/platform/jni/android/inspireface_jni.cpp.o:(Java_com_insightface_sdk_inspireface_InspireFace_CreateImageStreamFromByteBuffer) ld: error: undefined symbol: HFDeBugImageStreamDecodeSave >>> referenced by inspireface_jni.cpp >>> cpp/inspireface/CMakeFiles/InspireFace.dir/platform/jni/android/inspireface_jni.cpp.o:(Java_com_insightface_sdk_inspireface_InspireFace_WriteImageStreamToFile) ld: error: undefined symbol: HFReleaseImageStream >>> referenced by inspireface_jni.cpp >>> cpp/inspireface/CMakeFiles/InspireFace.dir/platform/jni/android/inspireface_jni.cpp.o:(Java_com_insightface_sdk_inspireface_InspireFace_ReleaseImageStream) ld: error: undefined symbol: HFExecuteFaceTrack >>> referenced by inspireface_jni.cpp >>> cpp/inspireface/CMakeFiles/InspireFace.dir/platform/jni/android/inspireface_jni.cpp.o:(Java_com_insightface_sdk_inspireface_InspireFace_ExecuteFaceTrack) ld: error: undefined symbol: HFGetNumOfFaceDenseLandmark >>> referenced by inspireface_jni.cpp >>> cpp/inspireface/CMakeFiles/InspireFace.dir/platform/jni/android/inspireface_jni.cpp.o:(Java_com_insightface_sdk_inspireface_InspireFace_GetFaceDenseLandmarkFromFaceToken) ld: error: undefined symbol: HFGetFaceDenseLandmarkFromFaceToken >>> referenced by inspireface_jni.cpp >>> cpp/inspireface/CMakeFiles/InspireFace.dir/platform/jni/android/inspireface_jni.cpp.o:(Java_com_insightface_sdk_inspireface_InspireFace_GetFaceDenseLandmarkFromFaceToken) ld: error: undefined symbol: HFFaceFeatureExtract >>> referenced by inspireface_jni.cpp >>> cpp/inspireface/CMakeFiles/InspireFace.dir/platform/jni/android/inspireface_jni.cpp.o:(Java_com_insightface_sdk_inspireface_InspireFace_ExtractFaceFeature) ld: error: undefined symbol: HFFaceGetFaceAlignmentImage >>> referenced by inspireface_jni.cpp >>> cpp/inspireface/CMakeFiles/InspireFace.dir/platform/jni/android/inspireface_jni.cpp.o:(Java_com_insightface_sdk_inspireface_InspireFace_GetFaceAlignmentImage) ld: error: undefined symbol: HFImageBitmapGetData >>> referenced by inspireface_jni.cpp >>> cpp/inspireface/CMakeFiles/InspireFace.dir/platform/jni/android/inspireface_jni.cpp.o:(Java_com_insightface_sdk_inspireface_InspireFace_GetFaceAlignmentImage) ld: error: undefined symbol: HFReleaseImageBitmap >>> referenced by inspireface_jni.cpp >>> cpp/inspireface/CMakeFiles/InspireFace.dir/platform/jni/android/inspireface_jni.cpp.o:(Java_com_insightface_sdk_inspireface_InspireFace_GetFaceAlignmentImage) >>> referenced by inspireface_jni.cpp >>> cpp/inspireface/CMakeFiles/InspireFace.dir/platform/jni/android/inspireface_jni.cpp.o:(Java_com_insightface_sdk_inspireface_InspireFace_GetFaceAlignmentImage) ld: error: undefined symbol: HFSessionSetTrackPreviewSize >>> referenced by inspireface_jni.cpp >>> cpp/inspireface/CMakeFiles/InspireFace.dir/platform/jni/android/inspireface_jni.cpp.o:(Java_com_insightface_sdk_inspireface_InspireFace_SetTrackPreviewSize) ld: error: undefined symbol: HFSessionSetFilterMinimumFacePixelSize >>> referenced by inspireface_jni.cpp >>> cpp/inspireface/CMakeFiles/InspireFace.dir/platform/jni/android/inspireface_jni.cpp.o:(Java_com_insightface_sdk_inspireface_InspireFace_SetFilterMinimumFacePixelSize) ld: error: undefined symbol: HFSessionSetFaceDetectThreshold >>> referenced by inspireface_jni.cpp >>> cpp/inspireface/CMakeFiles/InspireFace.dir/platform/jni/android/inspireface_jni.cpp.o:(Java_com_insightface_sdk_inspireface_InspireFace_SetFaceDetectThreshold) ld: error: undefined symbol: HFSessionSetTrackModeSmoothRatio >>> referenced by inspireface_jni.cpp >>> cpp/inspireface/CMakeFiles/InspireFace.dir/platform/jni/android/inspireface_jni.cpp.o:(Java_com_insightface_sdk_inspireface_InspireFace_SetTrackModeSmoothRatio) ld: error: undefined symbol: HFSessionSetTrackModeNumSmoothCacheFrame >>> referenced by inspireface_jni.cpp >>> cpp/inspireface/CMakeFiles/InspireFace.dir/platform/jni/android/inspireface_jni.cpp.o:(Java_com_insightface_sdk_inspireface_InspireFace_SetTrackModeNumSmoothCacheFrame) ld: error: too many errors emitted, stopping now (use -error-limit=0 to see all errors) clang++: error: linker command failed with exit code 1 (use -v to see invocation) ninja: build stopped: subcommand failed. Build-AndroidArch : Ninja 编译失败! 所在位置 D:\insightface-master\insightface-master\cpp-package\inspireface\command\build_android.ps1:247 字符: 1 + Build-AndroidArch "arm64-v8a" 21 + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (:) [Write-Error], WriteErrorException + FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,Build-AndroidArch
最新发布
08-10
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值