עבור לתוכן

בניית מוד ל Koffice - לא מתקמפל

Featured Replies

פורסם

אני מסה לבנות מוד לתוכנת Koffice (אופיס של לינוקס, כתוב ב C++) - בתוכנת ציור יש כלי של Perspective Transform. אני רוצה להוסיף כלי דומה נוסף אבל אם מתמטיקה שונה של ה Transform כדיי לקבל אפקט שונה

בגרסה האחרונה של Koffice הכלי של ה Transform לא נמצא אז התחלתי מהגרסה הקודמת שבה הכלי נמצא ועובד ftp://ftp.kde.org/pub/kde/stable/koffice-2.2.2

הכלי נמצא בתוך הקוד ב koffice-2.2.2/krita/plugins/tools/tool_perspectivetransform

בתור התחלה, ניסיתי להעתיק את הכלי הקיים תחת שם חדש כדיי לקבל 2 כלים זהים ואז אני אתחיל להכניס את השינויים לאחד מהם

שיניתי :

העתקתי את התיקיה koffice-2.2.2/krita/plugins/tools/tool_perspectivetransform ל koffice-2.2.2/krita/plugins/tools/tool_perspectivetransform2

שיניתי את השמות של הקבצים בתיקיה החדשה ל perspectivetransform2 בהתאמה

עשיתי "החלף הכול" בתוך הקבצים וב CMakeLists ל perspectivetransform2 (אם שמירה אל אותיות גדולות / קטנות וכו)

הוספתי perspectivetransform2 אחריי perspectivetransform ב CMakeLists של koffice-2.2.2/krita/plugins/tools

עכשו שאני מנסה לקמפל הוא מגיע למה שנראה כמו המקום הזה ונתקע :

....
....
/home/ash/dev/koffice2.2/src/koffice-2.2.2/krita/ui/kis_png_converter.cpp:465:19: warning: ‘png_info_struct::color_type’ is deprecated (declared at /usr/include/png.h:661)
/home/ash/dev/koffice2.2/src/koffice-2.2.2/krita/ui/kis_png_converter.cpp:465:19: warning: ‘png_info_struct::color_type’ is deprecated (declared at /usr/include/png.h:661)
/home/ash/dev/koffice2.2/src/koffice-2.2.2/krita/ui/kis_png_converter.cpp:466:24: warning: ‘png_info_struct::valid’ is deprecated (declared at /usr/include/png.h:649)
/home/ash/dev/koffice2.2/src/koffice-2.2.2/krita/ui/kis_png_converter.cpp:466:24: warning: ‘png_info_struct::valid’ is deprecated (declared at /usr/include/png.h:649)
[ 58%] Building CXX object krita/ui/CMakeFiles/kritaui.dir/kis_print_job.o
[ 58%] Building CXX object krita/ui/CMakeFiles/kritaui.dir/kis_resource_server_provider.o
[ 58%] Building CXX object krita/ui/CMakeFiles/kritaui.dir/kis_selection_decoration.o
[ 58%] Building CXX object krita/ui/CMakeFiles/kritaui.dir/kis_selection_manager.o
[ 58%] Building CXX object krita/ui/CMakeFiles/kritaui.dir/kis_statusbar.o
[ 58%] Building CXX object krita/ui/CMakeFiles/kritaui.dir/kis_view2.o
/home/ash/dev/koffice2.2/src/koffice-2.2.2/krita/ui/kis_view2.cpp: In member function ‘void KisView2::loadPlugins()’:
/home/ash/dev/koffice2.2/src/koffice-2.2.2/krita/ui/kis_view2.cpp:706:97: warning: ‘static T* KService::createInstance(const KService::Ptr&, QObject*, const QStringList&, int*) [with T = KParts::Plugin, KService::Ptr = KSharedPtr<KService>]’ is deprecated (declared at /usr/include/kservice.h:582)
/home/ash/dev/koffice2.2/src/koffice-2.2.2/krita/ui/kis_view2.cpp:710:148: warning: ‘static KLibLoader* KLibLoader::self()’ is deprecated (declared at /usr/include/klibloader.h:144)
[ 58%] Building CXX object krita/ui/CMakeFiles/kritaui.dir/kis_zoom_manager.o
[ 58%] Building CXX object krita/ui/CMakeFiles/kritaui.dir/ko_favorite_resource_manager.o
[ 58%] Building CXX object krita/ui/CMakeFiles/kritaui.dir/kisexiv2/kis_exif_io.o
/home/ash/dev/koffice2.2/src/koffice-2.2.2/krita/ui/kisexiv2/kis_exif_io.cpp: In member function ‘virtual bool KisExifIO::saveTo(KisMetaData::Store*, QIODevice*, KisMetaData::IOBackend::HeaderType) const’:
/home/ash/dev/koffice2.2/src/koffice-2.2.2/krita/ui/kisexiv2/kis_exif_io.cpp:409:50: error: ‘tagType’ is not a member of ‘Exiv2::ExifTags’
/home/ash/dev/koffice2.2/src/koffice-2.2.2/krita/ui/kisexiv2/kis_exif_io.cpp:422:73: error: ‘tagType’ is not a member of ‘Exiv2::ExifTags’
/home/ash/dev/koffice2.2/src/koffice-2.2.2/krita/ui/kisexiv2/kis_exif_io.cpp:424:70: error: ‘tagType’ is not a member of ‘Exiv2::ExifTags’
/home/ash/dev/koffice2.2/src/koffice-2.2.2/krita/ui/kisexiv2/kis_exif_io.cpp:428:56: error: ‘tagType’ is not a member of ‘Exiv2::ExifTags’
make[2]: *** [krita/ui/CMakeFiles/kritaui.dir/kisexiv2/kis_exif_io.o] Error 1
make[1]: *** [krita/ui/CMakeFiles/kritaui.dir/all] Error 2
make: *** [all] Error 2
==> ERROR: A failure occurred in build().
Aborting...

מה אני אמור לסדר ? (אין לי ידע מוקדם בזה, הפעם הראשונה שלי אם C++)

פורסם

זה נראה כמו בעיה ספציפית מאוד עם ה-plugin שאת עובד בתוכו. עדיף לך לשאול את האנשים שעובדים עם KOFFICE וה-plugins שלו.

בעיית הקומפליציה שאני רואה היא בכלל בקומפילציה של מבני EXIF (מבני נתונים בתוך JPEG).

על כן כל מה שאני יכול זה להציע את השטויות הרגילות:

1) האם הצלחת לקמפל לפני שכפול הקוד?

2) האם יתכן שהעלמת או שכחת ";" בסוף קובץ H?

3) אולי לא שינית include guard כמו שצריך?

4) לא עשית define חדש? אולי היית צריך?

באופן כללי search&replace גלובלי הוא דבר מסוכן לעשות באופן אוטומטי על קוד C או C++ שאינך מכיר.

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים