私はSVNからLLVMとClangをダウンロードしてビルドし、小さなサンプルプログラムを作成しました。ただし、LLVMヘッダー(llvm/support/type_traits.h
)には存在しない別のLLVMヘッダー、llvm/support/DataTypes.h
が含まれているように見えます。私はLLVMのウェブサイト上のドキュメントをチェックして、彼らはそれが存在する必要があるとは思わないようです。LLVMは存在しないヘッダを参照します
この問題を解決するにはどうすればよいですか?
私はSVNからLLVMとClangをダウンロードしてビルドし、小さなサンプルプログラムを作成しました。ただし、LLVMヘッダー(llvm/support/type_traits.h
)には存在しない別のLLVMヘッダー、llvm/support/DataTypes.h
が含まれているように見えます。私はLLVMのウェブサイト上のドキュメントをチェックして、彼らはそれが存在する必要があるとは思わないようです。LLVMは存在しないヘッダを参照します
この問題を解決するにはどうすればよいですか?
一部のファイルはビルドディレクトリに自動生成されます。 LLVMをライブラリとして使用するようにプログラムをコンパイルする場合は、常にllvm-config
ツールを使用して、適切なヘッダーディレクトリとリンク用のライブラリディレクトリを提供してください。私はこれを持っていますMakefile
:
LLVM_CONFIG_COMMAND = `$(LLVM_BIN_PATH)/llvm-config --cxxflags --libs` \
`$(LLVM_BIN_PATH)/llvm-config --ldflags`
私はこれをコンパイラのコマンドラインで使います。
LLVM_BUILD_PATH
あなたは
configure
を走った経路であり、そしてそれの残りの部分は(私は通常使用してデバッグ+はLLVMの内側にハッキングのための1つをアサート)あなたが内蔵されているバージョンによって異なり
LLVM_BIN_PATH = $(LLVM_BUILD_PATH)/Debug+Asserts/bin
。
ヘッダーの半分が作成され、インクルードディレクトリに正しく配置されていないことは言及していません。 – Puppy
@DeadMG:あなたは経験豊富なプログラマーのようですので、最初のオープンソースプロジェクトではないはずです。なぜあなたはドキュメントに驚いているのだろうか? –
'find/opt/clang -name DataTypes.h'は'/opt/clang/3.3/include/llvm/Support/DataTypes.h'を生成しました。私は先週、ubuntuでこれをやった(いくつかの不具合があったが、結局は成功した)。興味深いことに、それは私がsvnから入手したソースにはありませんが、ビルドディレクトリにあり、何かを作成する必要があります。 – hmjd
私のバージョンのファイル内のコメント '' DataTypes.h.inによって生成された ' – hmjd
'/* include/llvm/Support/DataTypes.hを確認できます。 configureによってDataTypes.h.inから生成されます。 */'。 –