Признак: Во время сборки программного обеспечения происходит ошибка сборки; переменные не решают правильно.
Если ваш набор инструментальных средств использует или однопроходного компоновщика с одной передачей, предотвратите круговые зависимости по данным путем добавления StartLibraryGroup и EndLibraryGroup директивы компоновщика к файлу определения набора инструментальных средств. Процесс сборки применяет группирующиеся директивы к библиотекам $(MODELREF_LIBS) модели - ссылки и пользовательские библиотеки $(LIBS).
Например, если компоновщик похож на GNU gcc, затем директивами является '-Wl,--start-group' и '-Wl,--end-group', как показано здесь:
% ------------------------------
% Linker
% ------------------------------
tool = tc.getBuildTool('Linker');
tool.setName( 'GNU Linker');
tool.setCommand( 'gcc');
tool.setPath( '');
tool.setDirective( 'Library', '-l');
tool.setDirective( 'LibrarySearchPath', '-L');
tool.setDirective( 'OutputFlag', '-o');
tool.setDirective( 'Debug', '-g');
tool.addDirective( 'StartLibraryGroup', '-Wl,--start-group');
tool.addDirective( 'EndLibraryGroup', '-Wl,--end-group');
tool.setFileExtension( 'Executable', '');
tool.setFileExtension( 'Shared Library', '.so');