kdevelop 是linux的一個program-IDE,類似WINDOWS下的VC,當然我認爲沒有VC好用,畢盡是個開源代碼,不過在LINUX下他也是一個不錯的IDE了。而且只要你有興趣,你可以訂製修改KDEVELOP的源代碼。
由於項目需要,最近研究了一下kdevelop的APPWIZARD。並且自己做了一個WIZARD,這個WIZARD是生成高通公司(BREW)手機上的一個HELLOWORD,並且編譯生成.SO庫。
下面介紹一下如何通過在kdevelop源代碼中編寫這樣一個WIZARD:
?? 1.你可以看到所有的KDEVELOP的wizard都在目錄??? $(kdevelop_src)/language/cpp/app_templates
2.先了解一下在每個wizard目錄下面都有幾個關鍵的文件(比如cpphello):
??app.kdevelop --這裏記錄了生成wizard時的一些信息,比如author,email,以及創建wizard後的一些編譯選項,如cppflags等
?cpphello? --- 這是一個配置文件,描述wizard的一些信息,比如
? src-Makefile.am -- 創建wizard時生成的makefile.am
?script -- 創建wizard時執行的perl腳本
configure.in -- 創建wizard時生成的configure.in
3. 編寫自己的wizard:
?幾個關鍵文件如下
?app.kdevelop --- 和cpphello中的一樣
?mywizard -- 配置文件
# KDE Config File
[General]
Name=mywiard
Name[fr]=Un simple programme de test ?Hello world ?
Icon=chello.png
Category=C++
Comment=Generates a simple Hello world program in brew-handset FrameWorld
Comment[fr]=G閚鑢e un simple programme de test du type ?Hello world ?dans le language C.
FileTemplates=h,CStyle,cpp,CStyle
ShowFilesAfterGeneration=src/APPNAMELC.cpp
src-Makefile.am -- 這個makefile可以使源代碼生成.so
lib_LTLIBRARIES = lib$APPNAMELC$.la
#$APPNAMELC$_SOURCES = $APPNAMELC$.c AEEModGen.c AEEAppGen.c
lib$APPNAMELC$_la_SOURCES = $APPNAMELC$.cpp AEEModGen.c AEEAppGen.c
# set the include path found by configure
INCLUDES= $(all_includes)
script -- 創建wizard時執行的腳本,用來拷貝一些文件
#!/usr/bin/perl
use kdevelop;
initKDevelop();
installFileTemplate();
installLicense();
installIncAdmin();
installGNU();
print "Installing project file/n";
install( "${src}/template-cppapplecore/app.project",???? "${dest}/${APPNAMELC}.project" );
print "Installing application framework/n";
mkdir( "${dest}/src", 0777 );
install( "${src}/template-cppapplecore/cpp-Makefile.am",? "${dest}/Makefile.am" );
install( "${src}/template-cppapplecore/cpp-Makefile.cvs", "${dest}/Makefile.cvs" );
install( "${src}/template-cppapplecore/configure.in",???? "${dest}/configure.in" );
print "Installing application sources/n";
install( "${src}/template-cppapplecore/src-Makefile.am",? "${dest}/src/Makefile.am" );
${APPNAMELC}.cpp" );
install( "${src}/template-cppapplecore/helloworld.c",????????? "${dest}/src/${APPNAMELC}.c" );
install( "${src}/template-cppapplecore/aeemodgen.c",????????? "${dest}/src/AEEModGen.c" );
install( "${src}/template-cppapplecore/aeeappgen.c",????????? "${dest}/src/AEEAppGen.c" );
install( "${src}/template-cppapplecore/helloworld.bid",????????? "${dest}/src/helloworld.bid" );
?
print "Finished/n";
configure.in -- 可以和cpphello下個一樣
4. 除此之外,你要保證執行script 拷貝的文件都在目錄下,比如我的wizard就要有aeemodgen.c,aeeappgen.c,helloworld.c等
?編寫一個wizard就這麼容易,如果要在kdeveop 啓動時看到自己的wiard, 在
$(kdevelop_src)/language/cpp/app_templates下的Makefile.am下加入自己的mywizard目錄名字,重新編譯kdevelop,並安裝就可以了。你也可以到kdevelop站點察看相關資料,上面會告訴你如何寫appwiard.
因爲第一次寫文章,自己也覺得寫得不夠清楚。不過我想以後會越寫越好的。:)