xcodebuild failure clang:error no such file or directory:

我的梦境 提交于 2019-11-30 01:20:44

问题


Having a problem when building with xcodebuild. My project/app builds fine with the Xcode - gui. It simply isn't finding/building the libcryptopp library which is part of the build process.

The error is:

clang: error: no such file or directory: '/Users/builder/repo/ioskpay/xcode-cryptopp/cryptopp/build/Release-iphoneos/libcryptopp.a'   

This particular file should be derived from another project inside the main app - xcodebuild simply isn't correctly pointing at the right file folder which should be:

~/Library/Developer/Xcode/DerivedData 

Any ideas?


回答1:


To fix this, go to your project settings, go to Targets and select your main project target. Then go to Build phases. Under Target dependencies add the static library project.

This way, when you compile the main project, the static library subproject gets compiled before the main project and your static library will be available.




回答2:


I had the same problem, but for a resource file .m

I opened target -> build phases -> Compile sources

and I found the file the compiler was tell it can't find duplicated: one with strange icon and the other with a normal icon. I simply removed the one with strange icon and it worked. ( I added the file multiple times and I had a merge conflict before that which made something wrong in the project file)

For your case I think you need to remove the lib from target dependencies list and add it again. This may work for you.




回答3:


In Xcode Version 9.2 (9C40b) this happened when I drug a bunch of files into the project, some of which were duplicate. Rather than simply not adding the duplicates, it added them again and only the name, not the path.

In Target > Build Phases > Compile Sources each of the duplicates showed with no "...in" after them. Each one caused the clang error.

After removing all of the duplicates that Xcode collected, the project compiled and ran.

It makes you use the Project Navigator instead of managing your source files in the Finder. Then the Project Navigator can't replace duplicates like any decent file management system (ahem Finder). 🤨




回答4:


Ok so by simply adding the correct -target -configuration and -scheme parameters I got this to run correctly. However due to my running this in Jenkins for autobuild purposes it still doesn't work as I'd like - getting stuck in exactly the same place. It's odd because I have the exact same code being built in another job that isn't having this problem. There is no rhyme or reason for it at this point. I will keep shooting rubber bands at it and update when I have an answer...




回答5:


Sometimes Xcode performs weird. You have to find that static library project e.g.. "filename.a" under 'Link Binary With Libraries' in Build Phase and then remove it and add it again.

I had the same problem while I was archiving my target. I removed the library and the build succeeded.




回答6:


For me it was because I had removed a package or pod. I ran pod install and it fixed it




回答7:


Look for the missing file in the Xcode project i.e the files may be deleted or miss placed.

add the missing files to the xcode, then everything will work fine.




回答8:


My xCode info is:

I faced similar errors during xcode building projects (native swift, flutter, react native, native script) in which I got error messages related to clang compilar. Errors like:

  • clang-4.0: error: no such file or directory: '/Users/xxxxxxxx/Library/Developer/Xcode/DerivedData/xxxxxxxxxxxxxxx/Index/Data Store'
  • clang-4.0: error: cannot specify -o when generating multiple output files
  • others

Despite of errors related with DerivedData for native apps can be fixed by deleting the directory and, eventually, restart xCode and even restart the machine... in this case, you will see that after deleting the directory and start building process again, the error comes back.

Then, is the moment of checking the clang installation by running clang --version. The normal output will be something like:

as you can see the InstalledDir is incorrect for xCode. In my case, some days ago I needed to install Anaconda app (R, Python, etc) and, now, I remember that I had to install some dependencies and one of them was clang and its installation was altered. To fix this problem (in my case that I will not need anaconda any more): (edited)

1.- Delete anaconda and all its dependencies (I recommend to use App Cleaner). 2.- Re-install xCode

After reinstalling xCode, if you type again clang --version, you'll get this:

More info at: https://github.com/flutter/flutter/issues/32457#issuecomment-496161092

Hopefully, this info helps some else.

Best




回答9:


Run this command :

$ conda deactivate 


来源:https://stackoverflow.com/questions/14947139/xcodebuild-failure-clangerror-no-such-file-or-directory

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!