Mac OS Xフレームワークの使用法をプログラムに追加しようとしています。このプログラムには、Objective-c++コードを含むいくつかのファイルが含まれています。
それはで動作しSET (CMAKE_EXE_LINKER_FLAGS "-framework CoreMedia -framework ... ")
ますが、私はこの方法が本当に好きではなく、それはちょうど間違っているようです。
それは実際の追加のCMakeの部分ですが、それは機能せず、私は本当に何が欠けているのかわかりません:(私は
link_directories("${CMAKE_OSX_SYSROOT}/System/Library/Frameworks")
include_directories("${CMAKE_OSX_SYSROOT}/System/Library/Frameworks")
しかし、それはまったく役に立ちませんでした。コードは次のとおりです。
add_executable(myprogram src/myprogram.cpp)
FIND_LIBRARY(COREMEDIA_LIB NAMES CoreMedia)
FIND_LIBRARY(COREVIDEO_LIB NAMES CoreVideo)
FIND_LIBRARY(FOUNDATION_LIB NAMES Foundation)
FIND_LIBRARY(AVFOUNDATION_LIB NAMES AVFoundation)
target_link_libraries(myprogram ${COREMEDIA_LIB})
target_link_libraries(myprogram ${COREVIDEO_LIB})
target_link_libraries(myprogram ${FOUNDATION_LIB})
target_link_libraries(myprogram ${AVFOUNDATION_LIB})
それはcmakeエラーを生成します:
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
AVFOUNDATION_LIB
linked by target "myprogram" in directory <some directory containing app>
<... other 3 are here aswell ...>