News:

As usual while waiting for the next release - don't forget to check the nightly builds in the forum.

Main Menu

SVNInside : development of another SVN plugin for CodeBlocks

Started by orel, October 08, 2007, 11:31:10 PM

Previous topic - Next topic

ollydbg

Quote from: dmoore on May 13, 2009, 07:02:53 PM
you can link against the 8.02 binaries BUT

when you link -- don't link against your own copies of the dlls, link against the CB 8.02 binary packages dlls (including any packaged wx widgets libs). see this: http://wiki.codeblocks.org/index.php?title=Linking_the_plugin_to_a_Nightly_Build
(the instructions assume you are building against a nightly build but it is the same for building against the actual release)

@dmoore

Actually, I have build follow these steps, I say I had tried to link to a codeblocks' distribution DLL(this can avoid building the IDE), but failed.  :(
The IDE still report the inconsistent version conflict. I'm still confused about these problems.

So, finally, I built both the IDE and plug-ins together myself.

If some piece of memory should be reused, turn them to variables (or const variables).
If some piece of operations should be reused, turn them to functions.
If they happened together, then turn them to classes.

AIL

Quote from: ollydbg on May 14, 2009, 03:48:49 AM
Actually, I have build follow these steps, I say I had tried to link to a codeblocks' distribution DLL(this can avoid building the IDE), but failed.  :(
The IDE still report the inconsistent version conflict. I'm still confused about these problems.


Just place path to your binary distributuion on the top of the paths list (as described in "Step Four - Link Everything Together") and replace library wxmsw28u with wxmsw28u_gcc_cb in linker settings.
That`s all. Now you can use plugin with your binary package.

dmoore

Quote from: ollydbg on May 14, 2009, 03:48:49 AM
Actually, I have build follow these steps, I say I had tried to link to a codeblocks' distribution DLL(this can avoid building the IDE), but failed.  :(
The IDE still report the inconsistent version conflict. I'm still confused about these problems.

So, finally, I built both the IDE and plug-ins together myself.

If you have the link libs right, the problem might be the headers. you should use the actual 8.02 headers to be on the safe side.
Python plugins: [url="https://github.com/spillz/codeblocks-python"]https://github.com/spillz/codeblocks-python[/url]
Code::Blocks Daily Builds -- Ubuntu PPA: [url="https://launchpad.net/~damien-moore/+archive/codeblocks"]https://launchpad.net/~damien-moore/+archive/codeblocks[/url]

mattn2


Killertester

Help!
I try compile plugin on linux:
src/dialogs/svniTreeItem.h|37|warning: 'typedef' was ignored in this declaration|
src/dialogs/svniTreeItem.h|37|warning: 'typedef' was ignored in this declaration|
src/dialogs/svniTreeCtrl.h|31|warning: 'typedef' was ignored in this declaration|
svniCommand.cpp||In member function 'size_t svniCommand::AddFilterMask(int, bool)':|
svniCommand.cpp|104|error: 'remove_if' was not declared in this scope|
||=== Build finished: 1 errors, 3 warnings ===|

stahta01

Quote from: Killertester on June 02, 2009, 06:06:29 PM
Help!
I try compile plugin on linux:
src/dialogs/svniTreeItem.h|37|warning: 'typedef' was ignored in this declaration|
src/dialogs/svniTreeItem.h|37|warning: 'typedef' was ignored in this declaration|
src/dialogs/svniTreeCtrl.h|31|warning: 'typedef' was ignored in this declaration|
svniCommand.cpp||In member function 'size_t svniCommand::AddFilterMask(int, bool)':|
svniCommand.cpp|104|error: 'remove_if' was not declared in this scope|
||=== Build finished: 1 errors, 3 warnings ===|


Guess on my part try adding algorithm include to top of svniCommand.cpp

#include <algorithm>

C Programmer working to learn more about C++.
On Windows 10 64 bit and Windows 11 64 bit.
--
When in doubt, read the CB WiKi FAQ. [url="http://wiki.codeblocks.org"]http://wiki.codeblocks.org[/url]

Killertester

#141
OK i build plugin but not install:

One or more plugins were not installed succesfully:
/home/igor/svninside.cbplugin

Please somebody tell us ready for rapidshare.

stahta01

Quote from: Killertester on June 03, 2009, 05:17:43 AM
OK i build plugin but not install:

One or more plugins were not installed succesfully:
/home/igor/svninside.cbplugin

Please somebody tell us ready for rapidshare.

You do realize the problem is that the plugin needed is different for each version of Code::Blocks used.
If you, don't post the version or SVN of your Code::Blocks then it is not possible to known what version or SVN is in most demand. Also, is it an self compile or Nightly Download?
What operating System?
What version and build type of wxWidgets?

These are just the options I know about.

Tim S

PS: I am a Windows user, I have no idea how many different builds would be added for different Linux setups.

C Programmer working to learn more about C++.
On Windows 10 64 bit and Windows 11 64 bit.
--
When in doubt, read the CB WiKi FAQ. [url="http://wiki.codeblocks.org"]http://wiki.codeblocks.org[/url]

Jenna

remove non-existent svniConfigDlg.* and add svniPrjConfigDlg.* and svniSettingsDlg.* (both from src/dialogs).

With this changes it is installable on my linux-box (debian 64-bit experimental/unstable).

(64-bit also needs -fPIC as compiler-option.)


It has several bugs (localization not found, svn executable not found, often crashes on exit), but that's another thing.

Killertester

#144
System: Slackware-current
wxWidgets: 2.8.10
Code:Block: 8.02
SVNInside: 85

Please somebody tell us ready for rapidshare. For linux.

ignotion

Hello, i've just downloaded the last codeblocks (5650) and svninside svn version, and i've run into a few problems:
1st) for some reason the project contains 2 files in dialogs that are missing (svniConfigDlg.cpp and .h).
2nd) Once you remove those files the project doesn't link(in ubuntu jaunty 64), raising this error:
/usr/bin/ld: .objs/src/commands/svniAdd.o: relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC
.objs/src/commands/svniAdd.o: could not read symbols: Bad value


3rd) finally once you get these issues resolved, you get a link error because for some reason -lpropgrid is not avaliable. I havent found it in my subversion copy (it's not in sdk either). Where can i find this lib, or how can I solve this last issue?

Thanks in advance,

Toni

Jenna


ignotion

Quote from: jens on June 17, 2009, 08:25:45 PM
Did you read my post just two posts above yours ?
No I didn't, thank you jens.
Do you know anything about that -lpropgrid problem?

stahta01

Quote from: ignotion on June 21, 2009, 01:32:20 AM
Do you know anything about that -lpropgrid problem?

Look for propgrid inside the wxSmith Contrib plugin it is built by wxSmith.

I find libpropgrid.a under src\plugins\contrib\wxSmith\propgrid on windows.

Tim S
C Programmer working to learn more about C++.
On Windows 10 64 bit and Windows 11 64 bit.
--
When in doubt, read the CB WiKi FAQ. [url="http://wiki.codeblocks.org"]http://wiki.codeblocks.org[/url]

GeO

Patch for "wxAuiNotebook introduction in TRUNK"
Index: src/commands/svniCommand.cpp
===================================================================
--- src/commands/svniCommand.cpp (revision 85)
+++ src/commands/svniCommand.cpp (working copy)
@@ -16,6 +16,7 @@
#include "svniLogger.h"

#include <string>               // for "class std::string"
+#include <algorithm>

using namespace std;

Index: src/dialogs/svniFileSelectDlg.cpp
===================================================================
--- src/dialogs/svniFileSelectDlg.cpp (revision 85)
+++ src/dialogs/svniFileSelectDlg.cpp (working copy)
@@ -20,6 +20,7 @@
#endif

#include <list>
+#include <algorithm>

#include "svniFileSelectDlg.h"

Index: src/svniPlugin.cpp
===================================================================
--- src/svniPlugin.cpp (revision 85)
+++ src/svniPlugin.cpp (working copy)
@@ -9,7 +9,7 @@
  ******************************************************************************/

#include <sdk.h>                // Code::Blocks SDK
-#include <wx/wxFlatNotebook/wxFlatNotebook.h>   // part of Code::Blocks SDK
+#include <wx/aui/auibook.h>   // part of Code::Blocks SDK

#ifndef CB_PRECOMP
  #include <projectmanager.h>
@@ -164,18 +164,15 @@
             ShowLogger(false);

         // remove svni tree tab from CB management notebook
-        int tab = 0;
-
-        // walk through all tabs to find svninside one
-        for (; tab < Manager::Get()->GetProjectManager()->GetNotebook()->GetPageCount(); ++tab)
+        if (m_psvniTabPnl)
         {
-            if (_T("SVNInside") == Manager::Get()->GetProjectManager()->GetNotebook()->GetPageText(tab))
-            {
-                Manager::Get()->GetProjectManager()->GetNotebook()->DeletePage(tab, true);
-                m_psvniTabPnl = 0;
-                break;
-            }
+
+            int idx = Manager::Get()->GetProjectManager()->GetNotebook()->GetPageIndex(m_psvniTabPnl);
+            if (idx != -1)
+                Manager::Get()->GetProjectManager()->GetNotebook()->RemovePage(idx);
+            m_psvniTabPnl->Destroy();
         }
+        m_psvniTabPnl = 0L;
     }
}
////////////////////////////////////////////////////////////////////////////////