質問: ``` error: unable to open output file '/cygdrive/c/Users/izu/AppData/Local/Temp/c:\work\test-b48722.o': 'Error opening output file '/cygdrive/c/Users/izu/AppData/Local/Temp/c:\work\test-b48722.o': No such file or directory' 1 error generated. ``` Windows形式のパスで打ったはずなのにCygwin形式?のパスになっているみたいです。 解決方法が全く分かりません。 よろしくお願いします。
回答: 素直にcygwinのターミナル(mintty)を使ったほうがいいと思いますが。 例えば、 ``` aaa bbb ``` とシェル上(コマンドプロンプト上でも同じ)で実行した場合、シェルが「aaa」という実行ファイルを探し、その「aaa」という実行ファイルを「bbb」という引数とともに実行します。 ですので、「aaa」はシェルが解釈する事になるので、シェルがcygwinのbashであればcygwinパス、コマンドプロンプトであればWindowsパスで指定する事になります。 それに対して「bbb」は、bash上/コマンドプロンプト上にかかわらず、「aaa」が解釈するので「aaa」に従って指定する必要があります。 今回の場合でいれば、**clangはcygwin向けにビルドしたのであればcygwinパスで指定すべきです。** どーーーーーしてもcygwinを使いたくないというのであれば、clangをmingwでビルドするか、もしかしたら「cygpath -u c:\work\test.c | xargs clang -o output.exe」とかでできますかねぇ...。(試してないので、知りませんが)