2016-08-17 11 views
1

以前にコンパイルしたlibgarithm.aライブラリがあり、ヘッダファイルgarith.hがあります。どうすればcmakeプロジェクトにインポートできますか? include_directories( "/ home/gaurav/Desktop/garith-lib/include")のヘッダファイルをインクルードしましたが、ライブラリをリンクすることができず、comile timeエラーが発生しています --- `multi(int、 int型)」マイライブラリ内の関数はcmakeに外部のビルドされた.aライブラリを含めることができません

答えて

2

あなたはあなたのライブラリーのためのimported targetを作成し、target_link_libraries使用する必要があります:あなたはコールする必要はありませんので

add_library(garithm STATIC IMPORTED) 
set_property(TARGET garithm PROPERTY IMPORTED_LOCATION 
    /path/to/libgarithm.a 
) 
set_property(TARGET garithm PROPERTY INTERFACE_INCLUDE_DIRECTORIES 
    /home/gaurav/Desktop/garith-lib/include 
) 

... 

add_executable(foo main.cpp) 
target_link_libraries(foo garithm) 

がディレクトリだけでなく、インポート対象に宣言されているを含めますinclude_directories

EDIT:target_include_directoriesではなく

+0

はどうもありがとうございました。しかし、今、私はエラーになっていますプロパティINTERFACE_INCLUDE_DIRECTORIESを設定し、インポートした目標では動作しません - エラー:インポートターゲット「garithm」のディレクトリを含める指定することはできません。 –

+0

私は自分の答えを編集しました。あなたは 'target_include_directories'を使用していますか、またはプロパティー' INTERFACE_INCLUDE_DIRECTORIES'を設定していますか? – wasthishelpful

関連する問題