問題タブ [conan]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - conan で空のディレクトリをエクスポートする方法はありますか?
空のフォルダー (empty_son_folder と呼ばれる) と空ではない別のフォルダー (not_empty_son_folder と呼ばれる) を含むフォルダー (parent_folder と呼ばれる) と、次の exports_sources メソッドを検討します。
not_empty_son_folder のみがエクスポートされます。
エクスポート元の方法で空フォルダを強制的にコナンでコピーする方法はありますか?
c++ - MacOS で conan / cmake プロジェクトをビルドするときの相対 RPATH
Intel TBB (共有ライブラリの使用が必要) に依存する単純な C++ プロジェクトがあります。Conan パッケージ マネージャーを CMake と組み合わせて使用してこれをビルドしようとしていますが、このセットアップを使用して、共有されていない依存関係を問題なく追加することができました。
私の最初の試み (パッケージを使用するための conan の conanfile.txt ドキュメントの情報とconan の conanfile.py リファレンス ガイドconanfile.pyを組み合わせたもの) では、次のようなものを使用しました。
そしてCMakeLists.txtこのような:
(myは、TBB パッケージのテスト ファイルのsrc/main.cpp直接のコピーです)
これはうまく構築されました。
しかし、実行./build/bin/mainは次のエラーで失敗しました:
私は MacOS を使用していますが、このエラーは既知の (ただし明らかに修正された) 問題に似ているため、独自のディレクトリからバイナリを実行してみました。cd build/bin; ./main、しかし同じエラーを見ました。これがうまくいかなかった理由はわかりませんが、デバッグに多くの時間を費やすことなく、別のアプローチに移りました。
次に、conan のドキュメントの RPATHs ガイドの「さまざまなアプローチ」に従って、最終的に次のようになりました。
この:
ビルドも実行もできます。しかし、実行可能ファイルを調べると、それが を参照していることがわかります/Users/me/.conan/data/TBB/2018_U6/conan/stable/package/03db91a62823ebc2b1df6e5cf549c2f674116656/lib。これは明らかに、そのコードが行うべきことではありません (私が期待していた、@rpath/../libまたは同様のものでした)。libまた、兄弟フォルダーに配置されたファイルではなく、バイナリが実際にこのパスを使用していることも確認しました。
この時点で私は立ち往生しています。CMake にはRPATH 処理用のオプションがいくつかあることがわかりますが、特に関連性があると思われるものは何もなく、2 回目の試行 (conan のドキュメントから直接取得) のコードが機能しない理由がわかりません。
共有ライブラリを conan で動作させるにはどうすればよいですか? (理想的にはクロスプラットフォームですが、少なくとも MacOS では)