В Java все находится в форме класса.
Если вы хотите использовать любой объект, тогда у вас есть две фазы:
Пример:
Object a;
a=new Object();
То же самое для концепции массива
Item i[]=new Item[5];
i[0]=new Item();
Если вы не дают секцию инициализации, тогда возникает NullpointerException
.
Как указано в документации команды set , каждый каталог, добавленный с помощью add_subdirectory
или каждой функции, объявленной с помощью function
, создает новую область.
Новый ребенок scope наследует все определения переменных из своей родительской области. Переменные назначения в новой дочерней области с помощью команды set
будут видны только в области дочерних элементов, если не используется опция PARENT_SCOPE
.
Чтобы сделать назначение SOURCEFILES
видимым в корневой папке вашего проекта, попробуйте:
set (SOURCEFILES main.cpp foo.cpp PARENT_SCOPE)
${CMAKE_CURRENT_SOURCE_DIR}/foo.cpp
вместоfoo.cpp
, потому что cmake теперь находится в родительской области. – blubberbernd 31 July 2011 в 19:56set(VAR value PARENT_SCOPE); set(VAR ${VAR});
– Patrick B. 10 September 2012 в 10:32set(VAR value PARENT_SCOPE); set(VAR ${VAR});
не работает, однакоset(VAR value); set(VAR ${VAR} PARENT_SCOPE);
работает. – Deqing 5 February 2013 в 12:12get_directory_property(VAR1 DIRECTORY subdir1 DEFINITION VAR1)
– Maxim Suslov 18 May 2016 в 07:31