質問する
1029 次
2 に答える
2
CMake メーリング リストのさまざまな投稿を読んだ後、CMAKE_CXX_FLAGS*
変数はそれぞれにローカルでありCMakeLists.txt
、を使用して子ディレクトリに継承されているようadd_subdirectory()
です。
どうやら、コンパイラ フラグの複数のセットを持つ推奨される方法は、それぞれが独自のコンパイラ フラグを設定する兄弟サブディレクトリを作成することです。2 つのフォルダーnative
を追加managed
し、それぞれに独自のコンパイラ フラグを設定しますCMakeLists.txt
。これで、すべてが期待どおりにビルドされます。
于 2012-04-17T23:29:42.963 に答える
0
あなたが次の線に沿って何かを持っていると仮定します:
project(my_libraries)
...
add_library(standard SHARED ${src_files})
add_library(managed SHARED ${src_files})
次に、次のことができます。
set(incomp_flags <list of incompatible flags>)
get_property(comp_flags TARGET managed PROPERTY COMPILE_FLAGS)
foreach(flag ${incomp_flags})
list(REMOVE_ITEM comp_flags ${flag})
endforeach()
set_property(TARGET managed PROPERTY COMPILE_FLAGS ${comp_flags} <flag for managed build>)
アイデアは、管理対象ライブラリのビルド用のフラグを取得する必要があり、次に互換性のないものを削除して、必要なものを追加する必要があるということです。
于 2012-04-16T00:04:02.723 に答える