私はcmake(GNU makeとg ++でLinux)を使って、2つのサブディレクトリMyLibとMyAppを持つプロジェクトを構築しようとしています。 MyLibには静的ライブラリのソースが含まれています。 MyAppはそのライブラリとリンクする必要があります。私は次のCMakeLists.txtを使って生成されたmakefileを使ってLinuxを構築しようとしています:CMAKE:ビルドライブラリとそのリンク
これはほとんど「うまくいく」です。リンク時に失敗するのは、libMyLibrary.aを生成している間です。これはルートにあります。私が追加するとき:
link_directories(${MyProj_BINARY_DIR})
それは違いがありません。
- 私のライブラリを構築するにcmakeのを強要し、「ステージングディレクトリ」—は、ターゲットが分離しておくためにMyStage —言うに実行ファイルへの最善の方法は何ですか:
私はいくつかの(インターリンク)の質問を持っていますソースから?
- cmakeがアプリケーションをライブラリにリンクさせるにはどうすればよいですか?
- 私がcmakeスクリプトを拡張して、—をデバッグアプリケーションとリリースライブラリとの間で確実にリンクするようにするにはどうすればよいですか?
私はcmakeに相対的に新人です。私はウェブで見つけたものを読んだことがありますが、自分のライブラリを自分の実行ファイルにリンクさせるのに苦労しています。この種の構成は、私の心にはかなり共通しているはずです。ベビーベッドの例はとても役に立ちますが、見つけられませんでした。
を作成している私は、(1)仕事ができる方法を見ることができます - 私はそれがきちんとしないと思うけれども。私はそれを助けることができれば、私のライブラリーと一緒に私の 'ステージングディレクトリ'にCMakeLists.txtを置いて欲しくない。 – aSteve
Uhm、いいえ、いいえ、CMakeLists.txtはソースツリーに残ります。 cmakeへの引数として渡されるパスは、トップレベルのCMakeLists.txtを含むディレクトリです。この設定では、 "ステージング"ディレクトリはcmake呼び出しの前に完全に空です。 – kralyk