2017-01-29 8 views
0

リンカがシンボルを見つけることができないので、リンカ入力として追加のライブラリが必要です。LLVM:llvm_map_components_to_libnames()への入力としてすべてのリンクライブラリを指定する方法

llvm_map_components_to_libnames(llvm_libs support core bitreader) 

target_link_libraries(SkeletonPass ${llvm_libs}) 

不足しているライブラリがコンポーネントから欠落している必要があります。

入力としてすべてのコンポーネントを指定する方法を教えてください。

+0

あなたはエラーを投稿しないので、どのコンポーネントが欠落しているのかわかりません。そのSOの投稿内のhttp://stackoverflow.com/questions/30867712/add-llvm-to-project-using-cmakeおよび関連リンクを確認することができます。 – fedepad

+0

ありがとう、私の質問は一般的にこれです:どこからコンポーネントとLLVMライブラリの間のマッピングを見ることができますか?また、いくつかのシンボルを解決する必要があり、それがいくつかのヘッダーファイルで定義されていることがわかったとします。このヘッダーを含むライブラリを確認するにはどうすればよいですか? – Shuzheng

答えて

0

まず第一に、それは時代遅れだが、私はそれは素敵な読み取りだあなたは、次の http://releases.llvm.org/2.7/docs/UsingLibraries.html
を読むことをお勧め。その中でも、llvm-configを検索することをお勧めします。

LLVMには、llvm-config というツールが付属しています。
第2に、私は暖かくあなたが次のSOのポストを見ることをお勧めします。
How do I link when building with llvm libraries?
このツールにも言及してください。私はリンクのドキュメントを見て
は 、これは概要です:

componentsが指定されていない場合は、そのデフォルト値はドキュメントによると allある
llvm-config option [components...] 

はすべてLLVMのライブラリが含まれています。コンポーネントが指定されていない場合のデフォルト。

明示的にallを追加しますが、これはあなたのケースでは省略できます。

llvm-config --components all

印刷するすべての有効なコンポーネント名。

llvm-config --libs all 中:任意の依存関係を含む、指定されたLLVMコンポーネント、とリンクするために必要な

印刷すべてのライブラリ。

詳細オプションと情報については、llvm-config --helpをご確認ください。

質問に答えるには、上記のコマンドですべてのコンポーネントを印刷し、llvm_map_components_to_libnames()の中に入れてください。

+0

ありがとう!私はVisual Studio用のプロジェクトを生成しようとしているので、コマンドラインでclangとllvm-configをコンパイルするだけでは問題ありません。すべての依存関係が解決されたプロジェクトを生成する標準的な方法は何ですか?すべてのコンポーネントを含めるだけですか? – Shuzheng

関連する問題