Hi,
I have a strange issue on iOS platform. I have a C++ framework whose project file is generated via CMake. This project file is then manually added as dependency to a very simple iOS Bundle (we do this in order to test our library on an iOS platform)
When building the Bundle and its dependency, I have these very strange link errors:
ld: warning: directory not found for option '-L/Users/fporcarelli/GIT/iOSApp/iGeoMobile/smartsdk-middleware/smartsdk-core/Unit-Tests/iOS/SmartSDK-core-tester/../../build/NavNetwork/smartsdk-core/External/lib'
Undefined symbols for architecture x86_64:
"_strchr", referenced from:
_lprofFindFirstDirSeparator in libclang_rt.profile_iossim.a(InstrProfilingUtil.c.o)
"_open", referenced from:
_lprofOpenFileEx in libclang_rt.profile_iossim.a(InstrProfilingUtil.c.o)
"_uname", referenced from:
_lprofGetHostName in libclang_rt.profile_iossim.a(InstrProfilingUtil.c.o)
"_ftell", referenced from:
_getProfileFileSizeForMerging in libclang_rt.profile_iossim.a(InstrProfilingFile.c.o)
"_strncpy", referenced from:
_createProfileDir in libclang_rt.profile_iossim.a(InstrProfilingFile.c.o)
_lprofGetHostName in libclang_rt.profile_iossim.a(InstrProfilingUtil.c.o)
"_setenv", referenced from:
_truncateCurrentFile in libclang_rt.profile_iossim.a(InstrProfilingFile.c.o)
"_fwrite", referenced from:
_fileWriter in libclang_rt.profile_iossim.a(InstrProfilingFile.c.o)
"_atexit", referenced from:
___llvm_profile_register_write_file_atexit in libclang_rt.profile_iossim.a(InstrProfilingFile.c.o)
(maybe you meant: ___llvm_profile_register_write_file_atexit)
"_fopen", referenced from:
_writeFile in libclang_rt.profile_iossim.a(InstrProfilingFile.c.o)
_truncateCurrentFile in libclang_rt.profile_iossim.a(InstrProfilingFile.c.o)
_initializeProfileForContinuousMode in libclang_rt.profile_iossim.a(InstrProfilingFile.c.o)
"_mmap", referenced from:
_initializeProfileForContinuousMode in libclang_rt.profile_iossim.a(InstrProfilingFile.c.o)
_mmapProfileForMerging in libclang_rt.profile_iossim.a(InstrProfilingFile.c.o)
"_munmap", referenced from:
_writeFile in libclang_rt.profile_iossim.a(InstrProfilingFile.c.o)
_initializeProfileForContinuousMode in libclang_rt.profile_iossim.a(InstrProfilingFile.c.o)
_mmapProfileForMerging in libclang_rt.profile_iossim.a(InstrProfilingFile.c.o)
"_ftruncate", referenced from:
_writeFile in libclang_rt.profile_iossim.a(InstrProfilingFile.c.o)
"_fseek", referenced from:
_writeFile in libclang_rt.profile_iossim.a(InstrProfilingFile.c.o)
_fileWriter in libclang_rt.profile_iossim.a(InstrProfilingFile.c.o)
_getProfileFileSizeForMerging in libclang_rt.profile_iossim.a(InstrProfilingFile.c.o)
"_fprintf", referenced from:
_parseAndSetFilename in libclang_rt.profile_iossim.a(InstrProfilingFile.c.o)
___llvm_profile_write_file in libclang_rt.profile_iossim.a(InstrProfilingFile.c.o)
_writeFile in libclang_rt.profile_iossim.a(InstrProfilingFile.c.o)
_initializeProfileForContinuousMode in libclang_rt.profile_iossim.a(InstrProfilingFile.c.o)
_getProfileFileSizeForMerging in libclang_rt.profile_iossim.a(InstrProfilingFile.c.o)
_mmapProfileForMerging in libclang_rt.profile_iossim.a(InstrProfilingFile.c.o)
_lprofOpenFileEx in libclang_rt.profile_iossim.a(InstrProfilingUtil.c.o)
...
"_strerror", referenced from:
___llvm_profile_write_file in libclang_rt.profile_iossim.a(InstrProfilingFile.c.o)
_writeFile in libclang_rt.profile_iossim.a(InstrProfilingFile.c.o)
_initializeProfileForContinuousMode in libclang_rt.profile_iossim.a(InstrProfilingFile.c.o)
_getProfileFileSizeForMerging in libclang_rt.profile_iossim.a(InstrProfilingFile.c.o)
_mmapProfileForMerging in libclang_rt.profile_iossim.a(InstrProfilingFile.c.o)
"_fclose", referenced from:
_writeFile in libclang_rt.profile_iossim.a(InstrProfilingFile.c.o)
_truncateCurrentFile in libclang_rt.profile_iossim.a(InstrProfilingFile.c.o)
"_free", referenced from:
_parseAndSetFilename in libclang_rt.profile_iossim.a(InstrProfilingFile.c.o)
_writeFile in libclang_rt.profile_iossim.a(InstrProfilingFile.c.o)
___llvm_profile_instrument_target_value in libclang_rt.profile_iossim.a(InstrProfilingValue.c.o)
"_strcmp", referenced from:
_parseAndSetFilename in libclang_rt.profile_iossim.a(InstrProfilingFile.c.o)
"_fileno", referenced from:
_writeFile in libclang_rt.profile_iossim.a(InstrProfilingFile.c.o)
_initializeProfileForContinuousMode in libclang_rt.profile_iossim.a(InstrProfilingFile.c.o)
_mmapProfileForMerging in libclang_rt.profile_iossim.a(InstrProfilingFile.c.o)
_lprofLockFileHandle in libclang_rt.profile_iossim.a(InstrProfilingUtil.c.o)
_lprofUnlockFileHandle in libclang_rt.profile_iossim.a(InstrProfilingUtil.c.o)
"_fflush", referenced from:
_writeFile in libclang_rt.profile_iossim.a(InstrProfilingFile.c.o)
"_exit", referenced from:
_exitSignalHandler in libclang_rt.profile_iossim.a(InstrProfilingFile.c.o)
"_getenv", referenced from:
___llvm_profile_initialize_file in libclang_rt.profile_iossim.a(InstrProfilingFile.c.o)
_parseAndSetFilename in libclang_rt.profile_iossim.a(InstrProfilingFile.c.o)
_writeFile in libclang_rt.profile_iossim.a(InstrProfilingFile.c.o)
_truncateCurrentFile in libclang_rt.profile_iossim.a(InstrProfilingFile.c.o)
_lprofSetupValueProfiler in libclang_rt.profile_iossim.a(InstrProfilingValue.c.o)
"_calloc", referenced from:
_writeFile in libclang_rt.profile_iossim.a(InstrProfilingFile.c.o)
___llvm_profile_instrument_target_value in libclang_rt.profile_iossim.a(InstrProfilingValue.c.o)
"_sigaction", referenced from:
_lprofInstallSignalHandler in libclang_rt.profile_iossim.a(InstrProfilingUtil.c.o)
"_strdup", referenced from:
_parseAndSetFilename in libclang_rt.profile_iossim.a(InstrProfilingFile.c.o)
"_memset", referenced from:
_parseAndSetFilename in libclang_rt.profile_iossim.a(InstrProfilingFile.c.o)
_writeOneValueProfData in libclang_rt.profile_iossim.a(InstrProfilingWriter.c.o)
"_fdopen", referenced from:
_lprofOpenFileEx in libclang_rt.profile_iossim.a(InstrProfilingUtil.c.o)
"_atoi", referenced from:
_writeFile in libclang_rt.profile_iossim.a(InstrProfilingFile.c.o)
_lprofSetupValueProfiler in libclang_rt.profile_iossim.a(InstrProfilingValue.c.o)
"___stderrp", referenced from:
_parseAndSetFilename in libclang_rt.profile_iossim.a(InstrProfilingFile.c.o)
___llvm_profile_write_file in libclang_rt.profile_iossim.a(InstrProfilingFile.c.o)
_writeFile in libclang_rt.profile_iossim.a(InstrProfilingFile.c.o)
_initializeProfileForContinuousMode in libclang_rt.profile_iossim.a(InstrProfilingFile.c.o)
_getProfileFileSizeForMerging in libclang_rt.profile_iossim.a(InstrProfilingFile.c.o)
_mmapProfileForMerging in libclang_rt.profile_iossim.a(InstrProfilingFile.c.o)
_lprofOpenFileEx in libclang_rt.profile_iossim.a(InstrProfilingUtil.c.o)
...
"_snprintf", referenced from:
_getCurFilename in libclang_rt.profile_iossim.a(InstrProfilingFile.c.o)
_parseAndSetFilename in libclang_rt.profile_iossim.a(InstrProfilingFile.c.o)
"_strlen", referenced from:
_getCurFilename in libclang_rt.profile_iossim.a(InstrProfilingFile.c.o)
___llvm_profile_write_file in libclang_rt.profile_iossim.a(InstrProfilingFile.c.o)
_truncateCurrentFile in libclang_rt.profile_iossim.a(InstrProfilingFile.c.o)
_initializeProfileForContinuousMode in libclang_rt.profile_iossim.a(InstrProfilingFile.c.o)
_createProfileDir in libclang_rt.profile_iossim.a(InstrProfilingFile.c.o)
"_fcntl", referenced from:
_lprofLockFileHandle in libclang_rt.profile_iossim.a(InstrProfilingUtil.c.o)
_lprofUnlockFileHandle in libclang_rt.profile_iossim.a(InstrProfilingUtil.c.o)
_lprofOpenFileEx in libclang_rt.profile_iossim.a(InstrProfilingUtil.c.o)
"_mkdir", referenced from:
___llvm_profile_recursive_mkdir in libclang_rt.profile_iossim.a(InstrProfilingUtil.c.o)
(maybe you meant: ___llvm_profile_recursive_mkdir)
"___error", referenced from:
___llvm_profile_write_file in libclang_rt.profile_iossim.a(InstrProfilingFile.c.o)
_writeFile in libclang_rt.profile_iossim.a(InstrProfilingFile.c.o)
_initializeProfileForContinuousMode in libclang_rt.profile_iossim.a(InstrProfilingFile.c.o)
_getProfileFileSizeForMerging in libclang_rt.profile_iossim.a(InstrProfilingFile.c.o)
_mmapProfileForMerging in libclang_rt.profile_iossim.a(InstrProfilingFile.c.o)
_lprofLockFileHandle in libclang_rt.profile_iossim.a(InstrProfilingUtil.c.o)
_lprofUnlockFileHandle in libclang_rt.profile_iossim.a(InstrProfilingUtil.c.o)
...
"_getpid", referenced from:
_getCurFilename in libclang_rt.profile_iossim.a(InstrProfilingFile.c.o)
_parseAndSetFilename in libclang_rt.profile_iossim.a(InstrProfilingFile.c.o)
_lprofLockFileHandle in libclang_rt.profile_iossim.a(InstrProfilingUtil.c.o)
_lprofUnlockFileHandle in libclang_rt.profile_iossim.a(InstrProfilingUtil.c.o)
_lprofOpenFileEx in libclang_rt.profile_iossim.a(InstrProfilingUtil.c.o)
"_ftello", referenced from:
_initializeProfileForContinuousMode in libclang_rt.profile_iossim.a(InstrProfilingFile.c.o)
"__Unwind_Resume", referenced from:
-[SmartSDK_core_tests testALL] in SmartSDK_core_tests.o
"___stack_chk_guard", referenced from:
-[SmartSDK_core_tests testALL] in SmartSDK_core_tests.o
_getCurFilename in libclang_rt.profile_iossim.a(InstrProfilingFile.c.o)
___llvm_profile_write_file in libclang_rt.profile_iossim.a(InstrProfilingFile.c.o)
_truncateCurrentFile in libclang_rt.profile_iossim.a(InstrProfilingFile.c.o)
_initializeProfileForContinuousMode in libclang_rt.profile_iossim.a(InstrProfilingFile.c.o)
_createProfileDir in libclang_rt.profile_iossim.a(InstrProfilingFile.c.o)
_lprofBufferIOWrite in libclang_rt.profile_iossim.a(InstrProfilingWriter.c.o)
...
"_memcpy", referenced from:
_getCurFilename in libclang_rt.profile_iossim.a(InstrProfilingFile.c.o)
_lprofBufferWriter in libclang_rt.profile_iossim.a(InstrProfilingWriter.c.o)
_lprofBufferIOWrite in libclang_rt.profile_iossim.a(InstrProfilingWriter.c.o)
"___stack_chk_fail", referenced from:
-[SmartSDK_core_tests testALL] in SmartSDK_core_tests.o
_getCurFilename in libclang_rt.profile_iossim.a(InstrProfilingFile.c.o)
___llvm_profile_write_file in libclang_rt.profile_iossim.a(InstrProfilingFile.c.o)
_truncateCurrentFile in libclang_rt.profile_iossim.a(InstrProfilingFile.c.o)
_initializeProfileForContinuousMode in libclang_rt.profile_iossim.a(InstrProfilingFile.c.o)
_createProfileDir in libclang_rt.profile_iossim.a(InstrProfilingFile.c.o)
_lprofBufferIOWrite in libclang_rt.profile_iossim.a(InstrProfilingWriter.c.o)
...
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
The link command is the following:
Ld /Users/fporcarelli/Library/Developer/Xcode/DerivedData/SmartSDK-core-tester-dklknbxitifzgxffprxpzzlwnejv/Build/Products/Debug-iphonesimulator/SmartSDK-mw-tester.app/PlugIns/SmartSDK-mw-tests.xctest/SmartSDK-mw-tests normal (in target 'SmartSDK-mw-tests' from project 'SmartSDK-core-tester')
cd /Users/fporcarelli/GIT/iOSApp/iGeoMobile/smartsdk-middleware/smartsdk-core/Unit-Tests/iOS/SmartSDK-core-tester
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -target x86_64-apple-ios12.1-simulator -bundle -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator14.4.sdk -L/Users/fporcarelli/Library/Developer/Xcode/DerivedData/SmartSDK-core-tester-dklknbxitifzgxffprxpzzlwnejv/Build/Products/Debug-iphonesimulator -L/Users/fporcarelli/GIT/iOSApp/iGeoMobile/smartsdk-middleware/smartsdk-core/Unit-Tests/iOS/SmartSDK-core-tester/../../build/NavNetwork/smartsdk-core/External/lib -L/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/lib -F/Users/fporcarelli/Library/Developer/Xcode/DerivedData/SmartSDK-core-tester-dklknbxitifzgxffprxpzzlwnejv/Build/Products/Debug-iphonesimulator -iframework /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Library/Frameworks -iframework /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator14.4.sdk/Developer/Library/Frameworks -filelist /Users/fporcarelli/Library/Developer/Xcode/DerivedData/SmartSDK-core-tester-dklknbxitifzgxffprxpzzlwnejv/Build/Intermediates.noindex/SmartSDK-core-tester.build/Debug-iphonesimulator/SmartSDK-mw-tests.build/Objects-normal/x86_64/SmartSDK-mw-tests.LinkFileList -Xlinker -rpath -Xlinker @executable_path/Frameworks -Xlinker -rpath -Xlinker @loader_path/Frameworks -dead_strip -bundle_loader /Users/fporcarelli/Library/Developer/Xcode/DerivedData/SmartSDK-core-tester-dklknbxitifzgxffprxpzzlwnejv/Build/Products/Debug-iphonesimulator/SmartSDK-mw-tester.app/SmartSDK-mw-tester -Xlinker -object_path_lto -Xlinker /Users/fporcarelli/Library/Developer/Xcode/DerivedData/SmartSDK-core-tester-dklknbxitifzgxffprxpzzlwnejv/Build/Intermediates.noindex/SmartSDK-core-tester.build/Debug-iphonesimulator/SmartSDK-mw-tests.build/Objects-normal/x86_64/SmartSDK-mw-tests_lto.o -Xlinker -export_dynamic -Xlinker -no_deduplicate -Xlinker -objc_abi_version -Xlinker 2 -stdlib\=libc++ -fobjc-arc -fobjc-link-runtime -fprofile-instr-generate -framework XCTest -Xlinker -sectcreate -Xlinker __TEXT -Xlinker __entitlements -Xlinker /Users/fporcarelli/Library/Developer/Xcode/DerivedData/SmartSDK-core-tester-dklknbxitifzgxffprxpzzlwnejv/Build/Intermediates.noindex/SmartSDK-core-tester.build/Debug-iphonesimulator/SmartSDK-mw-tests.build/SmartSDK-mw-tests.xctest-Simulated.xcent /Users/fporcarelli/Library/Developer/Xcode/DerivedData/SmartSDK-core-tester-dklknbxitifzgxffprxpzzlwnejv/Build/Products/Debug-iphonesimulator/MWAllTests_shared.framework/MWAllTests_shared -Xlinker -no_adhoc_codesign -Xlinker -dependency_info -Xlinker /Users/fporcarelli/Library/Developer/Xcode/DerivedData/SmartSDK-core-tester-dklknbxitifzgxffprxpzzlwnejv/Build/Intermediates.noindex/SmartSDK-core-tester.build/Debug-iphonesimulator/SmartSDK-mw-tests.build/Objects-normal/x86_64/SmartSDK-mw-tests_dependency_info.dat -o /Users/fporcarelli/Library/Developer/Xcode/DerivedData/SmartSDK-core-tester-dklknbxitifzgxffprxpzzlwnejv/Build/Products/Debug-iphonesimulator/SmartSDK-mw-tester.app/PlugIns/SmartSDK-mw-tests.xctest/SmartSDK-mw-tests
Thanks in advance for any help