私はcmakeでサブプロジェクトを構築しようとしています(これはxcodeプロジェクトでも、iphone用のアプリでもありません。その結果、クロスプラットフォームのコンソール実行可能ファイルになります。これには、Objective-C ++で記述されたC++抽象クラスから継承されたものが含まれます)
私はこのガイドを使用してmacosフレームワークをリンクしています:http ://www.vtk.org/Wiki/CMake:HowToUseExistingOSXFrameworks
そしてこのマクロ:
macro(ADD_FRAMEWORK fwname appname)
find_library(FRAMEWORK_${fwname}
NAMES ${fwname}
PATHS ${CMAKE_OSX_SYSROOT}/System/Library
PATH_SUFFIXES Frameworks
NO_DEFAULT_PATH)
if( ${FRAMEWORK_${fwname}} STREQUAL FRAMEWORK_${fwname}-NOTFOUND)
MESSAGE(ERROR ": Framework ${fwname} not found")
else()
TARGET_LINK_LIBRARIES(${appname} ${FRAMEWORK_${fwname}})
MESSAGE(STATUS "Framework ${fwname} found at ${FRAMEWORK_${fwname}}")
endif()
endmacro(ADD_FRAMEWORK)
これはCMakeLists.txtの重要な部分です
project(myprojectname)
........
add_executable(mytarget src/mytarget.cpp)
add_framework(CoreMedia mytarget)
add_framework(CoreVideo mytarget)
add_framework(AVFoundation mytarget)
add_framework(Foundation mytarget)
........
そして、それは私が構築しようとしたときに持っているものです:
WARNING: Target "mytarget" requests linking to directory "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk/System/Library/Frameworks/CoreMedia.framework". Targets may link only to libraries. CMake is dropping the item.
WARNING: Target "mytarget" requests linking to directory "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk/System/Library/Frameworks/CoreVideo.framework". Targets may link only to libraries. CMake is dropping the item.
WARNING: Target "mytarget" requests linking to directory "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk/System/Library/Frameworks/AVFoundation.framework". Targets may link only to libraries. CMake is dropping the item.
WARNING: Target "mytarget" requests linking to directory "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk/System/Library/Frameworks/Foundation.framework". Targets may link only to libraries. CMake is dropping the item.
実際にはこれらすべてのフレームワークを検出しますが、リンクできないため、多くのリンカーエラーが発生します。XCodeを使用してtestprojを作成し、必要なすべてのフレームワークをリンクするまで同じエラーが発生するため、これが理由であると確信しています。
使うだけで
FIND_LIBRARY(COREMEDIA_LIB CoreMedia)
...
次に、COREMEDIA_LIB
に設定されNOTFOUND
ます-何が起こっているのですか?:/
私はたくさんググったが何もなかった:(そこではほとんど失われた感じ。