2011-12-11 36 views
7

'dan oluşturulan ikili "Ürünleri" bulmak için başarısız oluyor CMake Generated Xcode projesini kullanmaya çalışıyorum. Xcode, oluşturulmuş ikili dosyaları bulamadığı sürece, her şey bina için iyi görünüyor. Ürünü başarıyla oluşturduktan sonra aldığım ekran görüntüsü aşağıdadır. Bunları proje kaynak dizininde görebilirim. Ancak, Xcode'un KIRMIZI "HelloWorld" i gösterdiğine dikkat edin, bu da ürünleri bulamadığı anlamına gelir.CMake oluşturulan Xcode projesi, Xcode

Screenshot of Products not available showing Red

Yapılandırmaları: CKağıt 2.8.6 Xcode 4.2 ile Lion 10.7.2 üzerinde

Bu Bu HelloWorld.cpp

için kaynak kodu CMakeLists.txt

project(HelloWorld) 

add_executable(${PROJECT_NAME} HelloWorld.cpp) 

olduğunu

#include <iostream> 

int main(){ 
    std::cout << "HelloWorld!" << std::endl; 

    return 0; 
} 

Doğrudan Xcode'tan bir ham proje oluşturmaya çalıştım, derledikten sonra, ürünler, Xcode'un ürünleri bulduğu anlamına gelen kırmızı font yerine siyah gösterir. Bu yüzden bunun CMake Generated Xcode projesi ile ilgili olduğundan eminim.

Herhangi bir fikri olan var mı? Bunu nasıl düzeltebilirim? Ben, senin durumunda HelloWorld.xcproject/project.pbxproject gibi bir şey adının verileceğini tahmin

+0

amacınız kırmızı ürün adını render Xcode durdurmak veya vardır için sadece burada mı eklendi başka problemler de var mı? Xcode, örneğin, hata ayıklayıcısında yürütmeye gittiğinizde ikili dosyayı bulamıyor mu? – sjs

+0

Yaşıyorum bir sorunum. Xcode projesi CMake tarafından üretilirse Xcode ürünü oluşturamaz. –

+0

İkinci sorunuzu cevaplamak için, evet. ikili yerleşik ve kaynak dizinde görebiliyorum. Ama Xcode bunu yürütemiyor. –

cevap

1

xcode proje dosyası (hedef başına inşa yapılandırmaları her biri için SYMROOT tanımları olacaktır.
Aynı değere tüm SYMROOT tanımlarını değiştirmek ya ya bunların hepsi (xcode "inşa" varsayılan olacaktır).
Projesi, açık ise, Autoreload gerekir. temiz ALL_BUILD veya HelloWord, seçip kurmak.

emin değil o cmake ekler şeklinden kaynaklanan bir sorun olup olmadığını kaldırmak SYMROOT
Not: Bu sorunun ne olduğunu ve bir çözüm değil sadece ipuçları olduğunu biliyorum ama henüz yorum eklemesine izin yok :)

1

Aynı sorunu yaşadım. Benim için, Xcode'un ürünü bulmak için kullandığı arama yolunda ek bir "derleme" dizini kaynaklandı. Ben Xcode beklediğini konumda ürünlerini koyarak sorunu kesmek, yani ekstra "inşa" dizini .:

if(CMAKE_GENERATOR STREQUAL Xcode) 
    set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_DEBUG ${CMAKE_BINARY_DIR}/build/Debug) 
    set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELEASE ${CMAKE_BINARY_DIR}/build/Release) 
    set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_DEBUG ${CMAKE_BINARY_DIR}/build/Debug) 
    set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE ${CMAKE_BINARY_DIR}/build/Release) 
    set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${CMAKE_BINARY_DIR}/build/Debug) 
    set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${CMAKE_BINARY_DIR}/build/Release) 
endif()