2016-11-16 2 views
0

Я хотел бы скомпилировать файл Cmake из Manyears 1.1.2 источников, но я получил ошибки, как показано ниже:Manyears 1.1.2 источники, обобщать Cmake файл

WARNING : manyears GUI will not be compiled because Qt4 not found 
-- Buiding ManyEarsLib Library... 
CMake Error at dsplib/CMakeLists.txt:75 (set_target_properties): 
    set_target_properties called with incorrect number of arguments. 
-- Buiding RTAudio Library... 
CMake Error at example/CMakeLists.txt:22 (set_target_properties): 
    set_target_properties called with illegal arguments, maybe missing a 
    PROPERTIES specifier? 

И оригинальная программа была написана как ниже:

target_link_libraries(ManyEarsLib) 
set_target_properties(ManyEarsLib PROPERTIES LINK_FLAGS ${MANYEARS_LINK_FLAGS} OUTPUT_NAME man-years) 

add_executable(manyears_console manyears_console.c) 
set_target_properties(manyears_console PROPERTIES LINK_FLAGS ${MANYEARS_LINK_FLAGS}) 
target_link_libraries(manyears_console ManyEarsLib -lm) 

Может ли кто-нибудь сказать мне, в чем проблема, и как его взрастить?

Большое спасибо. Lun

ответ

0

Команда set_target_properties может устанавливать только одно значение Недвижимость.

Но вы пытаетесь установить свойство LINK_FLAGS, что, как правило многозначныхсписок), но в вашем случае это просто пустой. Поэтому первый вызов обнаруживает неправильное количество аргументов (он должен быть четным), а второй вызов обнаруживает недостаточное количество аргументов (должно быть как минимум 4).

Для установленных многозначных свойств или очистить их с помощью команды set_property:

# Multi-value (or empty) property 
set_property(TARGET ManyEarsLib PROPERTY LINK_FLAGS ${MANYEARS_LINK_FLAGS}) 
# Single-value property 
set_target_properties(ManyEarsLib PROPERTIES OUTPUT_NAME man-years) 
# Multi-value (or empty) property again 
set_property(TARGET manyears_console PROPERTY LINK_FLAGS ${MANYEARS_LINK_FLAGS}) 

или даже

# Multi-value (or empty) property for several targets 
set_property(TARGET ManyEarsLib manyears_console PROPERTY LINK_FLAGS ${MANYEARS_LINK_FLAGS}) 
# Single-value property for single target 
set_target_properties(ManyEarsLib PROPERTIES OUTPUT_NAME man-years) 
Смежные вопросы