Estoy tratando de construir un subproyecto con cmake (es no un proyecto xcode o incluso una aplicación para iphone, el resultado es un ejecutable de consola multiplataforma, que #include algunos heredados de las clases abstractas C++, escritos en Objective-C++)No puedo vincular marcos de MacOS con CMake
estoy usando esta guía para enlazar mac marcos OS: http://www.vtk.org/Wiki/CMake:HowToUseExistingOSXFrameworks
y esta macro:
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)
esta es la parte importante en CMa keLists.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)
........
Y eso es lo que he cuando se trata de construir:
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.
En realidad, busca todos estos marcos, pero no se puede vincular, lo que produce una gran cantidad de errores de enlace. Estoy bastante seguro de que esa es la razón porque hice un testproj usando XCode y tiene los mismos errores hasta que vinculé todos los frameworks necesarios.
Cuando sólo tiene que utilizar
FIND_LIBRARY(COREMEDIA_LIB CoreMedia)
...
continuación COREMEDIA_LIB
se establece en NOTFOUND
- lo que está pasando? :/
Busqué en Google mucho, pero nada :(Sintiéndose casi perdió allí
Bueno, tengo trabajo con 'establecidos CMAKE_EXE_LINKER_FLAGS ("FM2 -framework FM1-marco ..."' ¿Por qué el http://stackoverflow.com/questions/822404/ ¿Cómo funciona? ¿Cómo funciona? ¿Cómo funciona el camino? ¿Cómo funciona? (la respuesta con esa macro en realidad estoy tratando de usar) – dreamzor