Форум Сообщества Аналитиков
Общий раздел => ПО Аналитика => Sparx => Тема начата: Amor от 28 Сентября 2009, 18:03:01
-
Подскажите, что не так делаю...
Есть набор исходников на С++. Хочу в EA7.0 закинуть диаграмму классов. Причем интересуют в первую очередь классы экспортируемые из модуля, который я исследую.
И вот встречается код примерно такого содержания:
#if defined ( BUILD_MYMODULE_DLL )
#define MyModuleExport _declspec ( dllexport )
#else
#define MyModuleExport _declspec ( dllimport )
#endif
class MyModuleExport CMyClass
{
public:
// bla-bla-bla
};
И именно этот класс не попадает в диаграмму и в окне Output выдается сообщение
There was an error parsing <пуь>\myclass.h on line 14. Unexpected symbol: {
You may need to define a language macro.
Может какая элементарная вещь, подскажите хотя бы в каком направлении копать. Спасибо :)
-
14 строка оказалась за кадром :)))
-
Она не понимает define и ожидает двоеточие
class MyModuleExport : CMyClass
-
Ты давай ей скармливать не исходники, а результаты препроцессинга, тогда все будет нормально.
Правда гора классов появится:)
-
14 строка оказалась за кадром :)))
Это строка где символ {
class MyModuleExport CMyClass // 13-ая
{ // 14-ая
Ты давай ей скармливать не исходники, а результаты препроцессинга, тогда все будет нормально.
Правда гора классов появится:)
Ну как-то это странно ( неужели нельзя научится делать элементарный препроцессинг? Все средства реинжениринга таковы?
-
Сделал тоже самое в Rational Rose 7.0 - все пучком! И никаких дополнительных действий не надо было.
:(
-
Сделал тоже самое в Rational Rose 7.0 - все пучком! И никаких дополнительных действий не надо было.
:(
Пришлите мне исходники Ваших скриптов. Я попробую на 7.5. Может ЕА что-то исправил в новых билдах.
Хотя, если честно сомневаюсь. Они очень так хитро поступили, почти как 1С. Сделали такой конструктор, некоторые части реализовали до определенной степени реализации, а другие отдали внешним третьим лицам на совершенствование. Но за отдельную плату:)
-
Amor, испытание провел. не знаю так или нет. Ошибок не было (сообщений)
Результат в прицепе. Так ли нет?
Вообщем, всё тоже самое.
Экспортируемых классов в модели нет.
Сообщений в виде выскакиваемых окошек не было и у меня. Ошибки отображались в окне Output.
-
Вообщем, всё тоже самое.
Экспортируемых классов в модели нет.
Сообщений в виде выскакиваемых окошек не было и у меня. Ошибки отображались в окне Output.
А откуда должны взяться эти самые экспортируемые классы тогда?
-
Они есть в исходных кодах. А в модели отсутствуют.
И именно на них появлялись сообщения об ошибке.
-
Ларчик просто открывался!
1. Меню Settings->Preprocessor Macros
2. Select Language: C++
3. Add New
4. Вбиваем MyModuleExport
Делаем импорт исходников - всё ОК!
-
Что-то у меня после вашего совета вот что выдало
There was an error parsing D:\Мусор\include\cmndline.h on line 69. Unexpected symbol: CCommandLine
You may need to define a language macro.
There was an error parsing D:\Мусор\include\debugtools.h on line 10. Unexpected symbol: LoadDebugReporter
You may need to define a language macro.
There was an error parsing D:\Мусор\include\eventlog.h on line 211. Unexpected symbol: {
You may need to define a language macro.
There was an error parsing D:\Мусор\include\ilogimpl.h on line 7. Unexpected symbol: ITCS
You may need to define a language macro.
There was an error parsing D:\Мусор\include\log.h on line 33. Unexpected symbol: {
You may need to define a language macro.
И пусто в диаграммах