SORU
2 AĞUSTOS 2012, PERŞEMBE


nasıl linker Ekle veya cmake dosyasında bayrak derlemek için

-linux-androideabi-g kol derleyici var. basit hellow world programı derlemeye çalıştığımda sorun derler. bu kod basit istisna işleme ekleyerek test de (sadece-fexceptions .. ekleyerek varsayılan olarak devre dışı sanırım) çalışıyor

bu android cihaz için ve sadece üniversite eğitim-build cmake değil kullanmak istiyorum

örnek - first.cpp için

#include <iostream>

using namespace std;

int main()
{
   try{
   }
   catch(...)
   {
   }
   return 0;
}

./arm-linux-androideadi-g-o ilk testi first.cpp -fexceptions

hiçbir sorun ile çalışır

soruncmake .. dosya ile dosyayı derlemeye çalışıyorum.

denedim bir bayrak gibi-fexceptions eklemek istiyorum

set (CMAKE_EXE_LINKER_FLAGS -fexceptions ) or set (CMAKE_EXE_LINKER_FLAGS "fexceptions" )

ve

set ( CMAKE_C_FLAGS "fexceptions")

hala hata ... benim cehaletim o bir Efendi .. yardım göster

CEVAP
3 AĞUSTOS 2012, Cuma


Bu bayraklar eklemek istediğiniz varsayalım: () sürekli onlara bildirmek için daha iyi

SET(GCC_COVERAGE_COMPILE_FLAGS "-fprofile-arcs -ftest-coverage")
SET(GCC_COVERAGE_LINK_FLAGS    "-lgcov")

Onları eklemek için birkaç yolu vardır :

1) En kolay (temiz ama kolay ve kullanışlı, tek bayrak, C & C derlemek için aynı anda çalışır)

add_definitions(${GCC_COVERAGE_COMPILE_FLAGS})

2) ilgili cmake değişkenler için ekleme

SET( CMAKE_CXX_FLAGS  "${CMAKE_CXX_FLAGS} ${GCC_COVERAGE_COMPILE_FLAGS}" )
SET( CMAKE_EXE_LINKER_FLAGS  "${CMAKE_EXE_LINKER_FLAGS} ${GCC_COVERAGE_LINK_FLAGS}" )

3) kullanarak hedef özellikleri, cf. doktor 14* *ve hedef adını bilmek gerekir

get_target_property(TEMP ${THE_TARGET} COMPILE_FLAGS)
if(TEMP STREQUAL "TEMP-NOTFOUND")
  SET(TEMP "") # set to empty string
else()
  SET(TEMP "${TEMP} ") # a space to cleanly separate from existing content
endif()
# append our values
SET(TEMP "${TEMP}${GCC_COVERAGE_COMPILE_FLAGS}" )
set_target_properties(${THE_TARGET} PROPERTIES COMPILE_FLAGS ${TEMP} )

Şimdi 2 yöntem kullanıyorum.

İyi şanslar.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • 30GB

    30GB

    14 AĞUSTOS 2006
  • colacas

    colacas

    29 EKİM 2006
  • wafflepwn

    wafflepwn

    14 AĞUSTOS 2008