Developer forums (C::B DEVELOPMENT STRICTLY!) > Plugins development

Doxygen plugin

<< < (32/53) > >>

Cryogen:

  Hi,


--- Quote from: caoselee on April 13, 2010, 09:03:34 am ---In My Humble Opinion, we don't need DoxyBlocks at all. first, it can't work in my CodeBlocks; second, we can just use Doxys with CodeBlocks's Tools option. :?

--- End quote ---

You can certainly use doxygen from the Tools menu. I suspect we've all done that. However, DoxyBlocks does much more than just run doxywizard, as you'd know if you'd read through here. If you prefer to enter comment blocks manually or use macros or some other means, then you probably won't need DoxyBlocks. If not, you still might find it useful.

Cheers.

Cryogen:

 Hi Guys,

Released version 1.5.502 of DoxyBlocks
-Added: Functionality to better process the function return string and the keywords "static" and "inline".
-Added: Functionality to process ** in parameters and return values.

Codeur, I've run it on all of your examples and variations of them and it seems to be doing well. A couple of Qs:


--- Quote from: codeur on April 03, 2010, 06:26:33 am --------------------------------------------------------------
** @brief Example 3: array notation
 *
 * @param param1[] char*
 * @return char
 *
 */    
char *myFunc(char *param1[])

--- End quote ---

Currently, your example causes DoxyBlocks to generate this:


--- Code: ---/** \brief Brief desc.
 *
 * \param param1[] char*
 * \return char*
 *
 */
char *myFunc(char *param1[]){};

--- End code ---

and doxygen generates:

char* DoxyBlocks::myFunc  ( char *  param1[]  )  [inline, private]

Brief desc.

Parameters: param1[]  char*

Returns: char*

which seems OK to me. Doxygen accepts it without parsing errors, which is a major factor, too. What did you have in mind?


--- Quote from: codeur on April 03, 2010, 06:26:33 am --------------------------------------------------------------
/** @brief example 4: Operator not recognised as function
 *
 * @param
 * @param
 * @return
 *
 */    
Rational Rational::operator + (const Rational &other) const;

--- End quote ---

This is a matter of style. The regexes can't account for all of the variations and preferences of users and, even if they could, I don't have the skills to make them do so. If you remove the spaces, this works as expected:


--- Code: ---Rational Rational::operator+(const Rational &other) const;

--- End code ---

If you choose to retain the spaces you are given the standard, empty comment block, rather than nothing. This seems reasonable.


--- Quote from: codeur on April 03, 2010, 06:26:33 am --------------------------------------------------------------
/** @brief example 5: inline (and static) taken as return types
 *
 * @param num int
 * @param den int
 * @return inline
 *
 */   
inline Rational::Rational(int num, int den) : numerator(num), denominator(den){}

--- End quote ---

I don't understand this declaration as my understanding, which you'll no doubt correct where necessary, is that inline functions must be declared in the header where the namespace name is illegal or unnecessary.  :?:
However, the point is a good one. It now handles the "static" and "inline" keywords.

Thanks for the detailed report.

Gary.

codeur:
Thanks for the latest edit.
Yes, those last changes work and the function banner comment generation becomes quite usable.

The style with spaces around the operator is very common. It's pity it cannot be easily fixed. We'll live with it.
You are right, the namespace in a header would not be legal, but thanks for the job with inline, static and **

It's all looking good.

Sorry to raise this again:
The last thing that remains bothering me is the loading of settings from template not being done automatically when there is no project or even when one creates a new project.
That initial loading does not conflict with settings being loaded from project when an existing project is started, which I understand you are determined to keep.
I don't think that initial loading of settings from template when no existing project is loaded goes against your preferred design. It would be a nice improvement for all users (of course more important for those who start new projects frequently as is the case for my own set of users). It does not seem to be a priority for you.
Is it a major modification?

maofde:
Hi,

I've still trouble getting doxyblocks to work under linux.
Could anybody please give me a receipe on how to compile doxyblocks and link everything together?

Here is what I've done so far:

I got C::B-svn 6193 and applied jens "DoxyBlocks-AutoMake-CB-20100320-1.patch" patch as describe earlier in this thread.
Then I got doxyblocks-svn 32 and placed it here: trunk/src/plugins/contrib/DoxyBlocks. I figured out, that the second patch is included already.
Then I ran ./bootstrap, ./configure --prefix=/opt/codeblocks-svn --with-contrib-plugins=all, ./make, sudo ./make install  <--- no error messages until here.

Then I start codeblocks directly in /opt/bin/codeblocks and receive the following message:


--- Quote ---...
Scanning for plugins in /opt/codeblocks-svn/lib/codeblocks/plugins
/opt/codeblocks-svn/lib/codeblocks/plugins/libDoxyBlocks.so: not loaded (missing symbols?)
Loaded 38 plugins
...
--- End quote ---

Additionally in the lower left a small yellow box appears an says

--- Quote ---One or more plugins were not loaded. This usually happens when a plugin is built for a different version of the Code::Blocks SDK. Check the application log for more info. List of failed plugins: libDoxyBlocks.so
--- End quote ---

ldd /opt/codeblocks-svn/lib/codeblocks/plugins/libDoxyBlocks.so shows this:

--- Quote ---linux-vdso.so.1 =>  (0x00007fff715ff000)
libcodeblocks.so.0 => /opt/codeblocks-svn/lib/libcodeblocks.so.0 (0x00007f1800f9e000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00007f1800d5f000)
libdl.so.2 => /lib/libdl.so.2 (0x00007f1800b5a000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007f180084a000)
libm.so.6 => /lib/libm.so.6 (0x00007f18005c6000)
libc.so.6 => /lib/libc.so.6 (0x00007f1800256000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00007f180003f000)
libwx_gtk2u_richtext-2.8.so.0 => /usr/lib/libwx_gtk2u_richtext-2.8.so.0 (0x00007f17ffd47000)
libwx_gtk2u_aui-2.8.so.0 => /usr/lib/libwx_gtk2u_aui-2.8.so.0 (0x00007f17fface000)
libwx_gtk2u_xrc-2.8.so.0 => /usr/lib/libwx_gtk2u_xrc-2.8.so.0 (0x00007f17ff834000)
libwx_gtk2u_qa-2.8.so.0 => /usr/lib/libwx_gtk2u_qa-2.8.so.0 (0x00007f17ff611000)
libwx_gtk2u_html-2.8.so.0 => /usr/lib/libwx_gtk2u_html-2.8.so.0 (0x00007f17ff35f000)
libwx_gtk2u_adv-2.8.so.0 => /usr/lib/libwx_gtk2u_adv-2.8.so.0 (0x00007f17ff07c000)
libwx_gtk2u_core-2.8.so.0 => /usr/lib/libwx_gtk2u_core-2.8.so.0 (0x00007f17fea62000)
libwx_baseu_xml-2.8.so.0 => /usr/lib/libwx_baseu_xml-2.8.so.0 (0x00007f17fe856000)
libwx_baseu_net-2.8.so.0 => /usr/lib/libwx_baseu_net-2.8.so.0 (0x00007f17fe626000)
libwx_baseu-2.8.so.0 => /usr/lib/libwx_baseu-2.8.so.0 (0x00007f17fe2cf000)
/lib64/ld-linux-x86-64.so.2 (0x00007f18018b2000)
libgtk-x11-2.0.so.0 => /usr/lib/libgtk-x11-2.0.so.0 (0x00007f17fdcc3000)
libgdk-x11-2.0.so.0 => /usr/lib/libgdk-x11-2.0.so.0 (0x00007f17fda17000)
libatk-1.0.so.0 => /usr/lib/libatk-1.0.so.0 (0x00007f17fd7f7000)
libpangoft2-1.0.so.0 => /usr/lib/libpangoft2-1.0.so.0 (0x00007f17fd5cd000)
libgdk_pixbuf-2.0.so.0 => /usr/lib/libgdk_pixbuf-2.0.so.0 (0x00007f17fd3b1000)
libgio-2.0.so.0 => /usr/lib/libgio-2.0.so.0 (0x00007f17fd107000)
libpango-1.0.so.0 => /usr/lib/libpango-1.0.so.0 (0x00007f17fcebd000)
libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x00007f17fcc38000)
libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0x00007f17fca06000)
libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0x00007f17fc7be000)
libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0 (0x00007f17fc5ba000)
libgthread-2.0.so.0 => /usr/lib/libgthread-2.0.so.0 (0x00007f17fc3b5000)
librt.so.1 => /lib/librt.so.1 (0x00007f17fc1ac000)
libglib-2.0.so.0 => /lib/libglib-2.0.so.0 (0x00007f17fbee5000)
libXinerama.so.1 => /usr/lib/libXinerama.so.1 (0x00007f17fbce3000)
libSM.so.6 => /usr/lib/libSM.so.6 (0x00007f17fbad9000)
libpng12.so.0 => /usr/lib/libpng12.so.0 (0x00007f17fb8b3000)
libz.so.1 => /lib/libz.so.1 (0x00007f17fb69c000)
libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0x00007f17fb476000)
libtiff.so.4 => /usr/lib/libtiff.so.4 (0x00007f17fb21b000)
libexpat.so.1 => /lib/libexpat.so.1 (0x00007f17faff1000)
libpangocairo-1.0.so.0 => /usr/lib/libpangocairo-1.0.so.0 (0x00007f17fade4000)
libX11.so.6 => /usr/lib/libX11.so.6 (0x00007f17faaae000)
libXcomposite.so.1 => /usr/lib/libXcomposite.so.1 (0x00007f17fa8ab000)
libXdamage.so.1 => /usr/lib/libXdamage.so.1 (0x00007f17fa6a8000)
libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0x00007f17fa4a2000)
libcairo.so.2 => /usr/lib/libcairo.so.2 (0x00007f17fa21f000)
libXext.so.6 => /usr/lib/libXext.so.6 (0x00007f17fa00c000)
libXrender.so.1 => /usr/lib/libXrender.so.1 (0x00007f17f9e02000)
libXi.so.6 => /usr/lib/libXi.so.6 (0x00007f17f9bf7000)
libXrandr.so.2 => /usr/lib/libXrandr.so.2 (0x00007f17f99ed000)
libXcursor.so.1 => /usr/lib/libXcursor.so.1 (0x00007f17f97e3000)
libpcre.so.3 => /lib/libpcre.so.3 (0x00007f17f95b4000)
libresolv.so.2 => /lib/libresolv.so.2 (0x00007f17f939b000)
libselinux.so.1 => /lib/libselinux.so.1 (0x00007f17f917d000)
libICE.so.6 => /usr/lib/libICE.so.6 (0x00007f17f8f61000)
libuuid.so.1 => /lib/libuuid.so.1 (0x00007f17f8d5c000)
libxcb.so.1 => /usr/lib/libxcb.so.1 (0x00007f17f8b3f000)
libpixman-1.so.0 => /usr/lib/libpixman-1.so.0 (0x00007f17f88fa000)
libdirectfb-1.2.so.0 => /usr/lib/libdirectfb-1.2.so.0 (0x00007f17f866f000)
libfusion-1.2.so.0 => /usr/lib/libfusion-1.2.so.0 (0x00007f17f8464000)
libdirect-1.2.so.0 => /usr/lib/libdirect-1.2.so.0 (0x00007f17f8249000)
libxcb-render-util.so.0 => /usr/lib/libxcb-render-util.so.0 (0x00007f17f8045000)
libxcb-render.so.0 => /usr/lib/libxcb-render.so.0 (0x00007f17f7e3b000)
libXau.so.6 => /usr/lib/libXau.so.6 (0x00007f17f7c38000)
libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x00007f17f7a32000)
--- End quote ---

Everything seems to be fine  :?

So, what am I doing wrong?
Thanks for your effort.

Btw: I tested doxyblocks under windows already (there without problems during svn-compilation) and I really want to have it now on linux to work with it everyday.

Jenna:

--- Quote from: maofde on May 02, 2010, 09:26:31 am ---Hi,

I've still trouble getting doxyblocks to work under linux.
Could anybody please give me a receipe on how to compile doxyblocks and link everything together?

--- End quote ---

Add DoxyBlocksLogger.* to the project-file, they seem to miss in the linux-version.

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version