After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 112809 - Add support for Visual Studio .NET 2003
Add support for Visual Studio .NET 2003
Status: RESOLVED FIXED
Product: gtkmm
Classification: Bindings
Component: build
2.2
Other Windows
: Normal normal
: ---
Assigned To: gtkmm-forge
gtkmm-forge
Depends on:
Blocks:
 
 
Reported: 2003-05-12 04:05 UTC by burrisj
Modified: 2004-12-22 21:47 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Patch to add support for Visual Studo .NET 2003 (19.53 KB, patch)
2003-05-12 04:06 UTC, burrisj
none Details | Review
project files for Visual Studio .NET 2003 (20.15 KB, application/octet-stream)
2003-05-12 04:08 UTC, burrisj
  Details
VisualStudioNet 2003 project files (125.59 KB, application/octet-stream)
2003-06-07 19:59 UTC, burrisj
  Details
This are my VisualStudio NET 2003 project files, it's a .tar.gz archive. There is an detailed README inside how to compile it with VisualStudio. (38.71 KB, application/octet-stream)
2003-08-04 18:13 UTC, Frank Naumann
  Details
This is a small and simple patch to avoid lot of of VisualStudio NET warnings. (1.70 KB, patch)
2003-08-04 18:15 UTC, Frank Naumann
none Details | Review
The VisualStudio NET 2003 buildlog of gtkmm. (306.74 KB, text/html)
2003-08-04 18:16 UTC, Frank Naumann
  Details
The VisualStudio NET 2003 buildlog of glibmm. (306.74 KB, text/html)
2003-08-04 18:16 UTC, Frank Naumann
  Details
Small patch to avoid lot of of VisualStudio NET warnings with ChangeLog entry. (2.80 KB, patch)
2003-08-05 12:37 UTC, Frank Naumann
none Details | Review
Patch for VisualStudio template bug; TreeView::append_column_editable work now as expected (16.82 KB, patch)
2003-08-08 07:07 UTC, Frank Naumann
none Details | Review

Description burrisj 2003-05-12 04:05:29 UTC
This patch adds support for Visual Studio .NET 2003.
Comment 1 burrisj 2003-05-12 04:06:55 UTC
Created attachment 16442 [details] [review]
Patch to add support for Visual Studo .NET 2003
Comment 2 burrisj 2003-05-12 04:08:31 UTC
Created attachment 16443 [details]
project files for Visual Studio .NET 2003
Comment 3 Murray Cumming 2003-05-12 08:25:19 UTC
Please close either this bug or bug 112776.
Comment 4 Murray Cumming 2003-05-12 13:09:05 UTC
Nevermind. I've noticed that the other patch is meant for libsigc++
and reassigned it.

The changes look good. I'll try to apply them in the next few days.
Thanks.
Comment 5 Cedric Gustin 2003-05-14 08:38:39 UTC
In your patch, you try to circumvent the treeview bug that was 
detected a few days ago (http://mail.gnome.org/archives/gtkmm-
list/2003-April/msg00250.html) by explictly calling the appropriate 
CellRenderer, for example in demos/gtk-
demo/example_treeview_editable_cells.cc. Of course, your patch also 
fixes the problem with mingw32 but wouldn't it be more appropriate to 
fix the bug in the library source code instead of patching the 
examples ? I had a look at the problem last week but I thought it was 
a mingw32 compiler bug (gtkmm-2.2 works as expected on my redhat 9 
box). If it does not work either with Visual.Net, this means that 
there's something wrong with treeviews on win32 ! 
Comment 6 Murray Cumming 2003-05-14 16:53:22 UTC
Oh, I thought it just didn't compile with MSVC++ (it used to give
problems with the SUN compiler before they fixed it.)

Also, that code does not seem complete - it needs to connect to signal
handlers to store the edited value.

But I'm applying it anyway so that Cedric can check that the _DLL
changes in the *config.in files don't break something for him.
Comment 7 burrisj 2003-05-15 03:00:17 UTC
Yes, I think there may be a fundmental problem with type matching 
template arguments in Treeview.  However, I could not figure out how 
to fix the problem in the library.

Yes, the example code demos/gtk-
demo/example_treeview_editable_cells.cc is incomplete.  I found this 
out last night when was going the the code again.  I will fix this 
and submit another patch after we get the details of the patch worked 
out and applied.  This same goes for 
examples/book/treeview/editable_cells/examplewindow.cc.  The bool 
field in not properly using the Gtk::CellRendererToggle.  This has to 
be manually created and attached to the column along with a callback 
for signal_toggled.
Comment 8 Cedric Gustin 2003-05-15 06:23:55 UTC
Actually, we have the same symptom with CellRendererPixbuf in 
demos/gtk-demo/example_stockbrowser.cc. That's the reason why there 
is a WIN32 related #ifdef somewhere in the code. Whatever the column 
type, it seems that it is always implicitly converted to a text, 
except if you call the appropriate cell renderer. I have no idea 
where this comes from. Using the testing branch of gcc-3.2.2 on mingw 
does not solve the problem.

According to the recent thread http://mail.gnome.org/archives/gtkmm-
list/2003-April/msg00267.html, this has also been observed on debian 
and gentoo.

I guess fixing this bug should be top priority.
Comment 9 Murray Cumming 2003-05-16 13:20:42 UTC
Could you open a separate bug for that treeview thing?

Cedric, could you check that these MSVC++ .Net 2003 changes in cvs
have not broken your mingwin build? I noticed that some *_DLL macros
were removed from *config.in files and I wondered if you need them.
Comment 10 Murray Cumming 2003-05-17 17:24:38 UTC
Cedric, I CCed you on this bug, because you might not have seen my
last comment automatically.
Comment 11 Murray Cumming 2003-05-19 08:40:15 UTC
By the way, I expect to release a new gtkmm when I know that it still
works with cygwin.
Comment 12 Cedric Gustin 2003-05-19 18:32:22 UTC
Current cvs builds fine with mingw32. Go ahead and release ! I guess 
we will try to fix this treeview bug for the next one.
Comment 13 Murray Cumming 2003-05-21 06:24:45 UTC
John, are these files meant to go in a separate MSVC_Net2003
directory, like for libsigc++? Could you rename the project files to
something msvc_net2003-specific, as we have for libsigc++. The
examples/tests files are not so important, but I want to clearly
distinguish the main project files.

Please mention the filename when attaching files.

By the way, the patch has been applied - we just need to deal with the
project files.
Comment 14 Murray Cumming 2003-05-28 07:56:54 UTC
Please respond.
Comment 15 Murray Cumming 2003-06-05 14:20:36 UTC
Please respond.
Comment 16 burrisj 2003-06-07 19:59:45 UTC
Created attachment 17281 [details]
VisualStudioNet 2003 project files
Comment 17 burrisj 2003-06-07 20:06:28 UTC
Sorry for the late reply!!  I had to unexpectedly go on travel for 
work.  I have to spend far to much time on travel.  It makes it hard 
to keep up with the list.  I have attached a new set of project 
files.  The filename is win32_net2003.zip.  This file should address 
conform to your request.  Let me know if this is a problem.
Comment 18 Murray Cumming 2003-06-13 08:00:08 UTC
How many times do I need to ask?
"Please mention the filename when attaching files."
I have no idea what kind of file that is.
Comment 19 crs8 2003-06-13 14:54:53 UTC
When I open this sln file, the solution explorer looks good, but 
when I try to open any of the files in the panel it says "the system 
cannot find the path specified." More specifically, 
the ../examples/arrow/ folder for your project also as a direction 
subfolder with the .vcproj in it. The direction.cc file that I have 
is not in a separate subfolder. I wonder whether or not we have the 
same tree structure. 
Comment 20 crs8 2003-06-16 16:44:35 UTC
how do you apply attachment 16442 [details] [review]?? I'm having errors with wint_t in 
MSVC .NET when trying to compile. Thanks for helping
Comment 21 Murray Cumming 2003-06-17 07:24:19 UTC
crs8@lehigh.edu, please be more precise.
Comment 22 crs8 2003-06-17 14:58:59 UTC
This still isn't working. We are trying to compile the project 
libglibmm in msvc .NET, and below are the errors we are getting
All of the actual errors pertain to the macro GTKMM_USING_STD() 
which is not defined anywhere in any of the files in the solution.
Thanks anybody for helping. 
Chris

Compiling...
wrap_init.cc
c:\gtk\gtkmm-2.2.3\glib\glibmm\unicode.h(177) : warning 
C4800: 'gboolean' : forcing value to bool 'true' or 'false' 
(performance warning)
c:\gtk\gtkmm-2.2.3\glib\glibmm\unicode.h(179) : warning 
C4800: 'gboolean' : forcing value to bool 'true' or 'false' 
(performance warning)
c:\gtk\gtkmm-2.2.3\glib\glibmm\unicode.h(181) : warning 
C4800: 'gboolean' : forcing value to bool 'true' or 'false' 
(performance warning)
c:\gtk\gtkmm-2.2.3\glib\glibmm\unicode.h(183) : warning 
C4800: 'gboolean' : forcing value to bool 'true' or 'false' 
(performance warning)
c:\gtk\gtkmm-2.2.3\glib\glibmm\unicode.h(185) : warning 
C4800: 'gboolean' : forcing value to bool 'true' or 'false' 
(performance warning)
c:\gtk\gtkmm-2.2.3\glib\glibmm\unicode.h(187) : warning 
C4800: 'gboolean' : forcing value to bool 'true' or 'false' 
(performance warning)
c:\gtk\gtkmm-2.2.3\glib\glibmm\unicode.h(189) : warning 
C4800: 'gboolean' : forcing value to bool 'true' or 'false' 
(performance warning)
c:\gtk\gtkmm-2.2.3\glib\glibmm\unicode.h(191) : warning 
C4800: 'gboolean' : forcing value to bool 'true' or 'false' 
(performance warning)
c:\gtk\gtkmm-2.2.3\glib\glibmm\unicode.h(193) : warning 
C4800: 'gboolean' : forcing value to bool 'true' or 'false' 
(performance warning)
c:\gtk\gtkmm-2.2.3\glib\glibmm\unicode.h(195) : warning 
C4800: 'gboolean' : forcing value to bool 'true' or 'false' 
(performance warning)
c:\gtk\gtkmm-2.2.3\glib\glibmm\unicode.h(197) : warning 
C4800: 'gboolean' : forcing value to bool 'true' or 'false' 
(performance warning)
c:\gtk\gtkmm-2.2.3\glib\glibmm\unicode.h(199) : warning 
C4800: 'gboolean' : forcing value to bool 'true' or 'false' 
(performance warning)
c:\gtk\gtkmm-2.2.3\glib\glibmm\unicode.h(201) : warning 
C4800: 'gboolean' : forcing value to bool 'true' or 'false' 
(performance warning)
c:\gtk\gtkmm-2.2.3\glib\glibmm\unicode.h(203) : warning 
C4800: 'gboolean' : forcing value to bool 'true' or 'false' 
(performance warning)
c:\gtk\gtkmm-2.2.3\glib\glibmm\unicode.h(205) : warning 
C4800: 'gboolean' : forcing value to bool 'true' or 'false' 
(performance warning)
c:\gtk\gtkmm-2.2.3\glib\glibmm\ustring.h(32) : error 
C2039: 'bidirectional_iterator_tag' : is not a member 
of 'operator``global namespace'''
c:\gtk\gtkmm-2.2.3\glib\glibmm\ustring.h(32) : error 
C2873: 'bidirectional_iterator_tag' : symbol cannot be used in a 
using-declaration
c:\gtk\gtkmm-2.2.3\glib\glibmm\ustring.h(33) : error 
C2039: 'reverse_iterator' : is not a member of 'operator``global 
namespace'''
c:\gtk\gtkmm-2.2.3\glib\glibmm\ustring.h(33) : error 
C2873: 'reverse_iterator' : symbol cannot be used in a using-
declaration
c:\gtk\gtkmm-2.2.3\glib\glibmm\ustring.h(34) : error 
C2039: 'string' : is not a member of 'operator``global namespace'''
c:\gtk\gtkmm-2.2.3\glib\glibmm\ustring.h(34) : error 
C2873: 'string' : symbol cannot be used in a using-declaration
c:\gtk\gtkmm-2.2.3\glib\glibmm\ustring.h(35) : error 
C2039: 'istream' : is not a member of 'operator``global namespace'''
c:\gtk\gtkmm-2.2.3\glib\glibmm\ustring.h(35) : error 
C2873: 'istream' : symbol cannot be used in a using-declaration
c:\gtk\gtkmm-2.2.3\glib\glibmm\ustring.h(36) : error 
C2039: 'ostream' : is not a member of 'operator``global namespace'''
c:\gtk\gtkmm-2.2.3\glib\glibmm\ustring.h(36) : error 
C2873: 'ostream' : symbol cannot be used in a using-declaration
c:\gtk\gtkmm-2.2.3\glib\glibmm\ustring.h(42) : error 
C2039: 'random_access_iterator_tag' : is not a member 
of 'operator``global namespace'''
c:\gtk\gtkmm-2.2.3\glib\glibmm\ustring.h(42) : error 
C2873: 'random_access_iterator_tag' : symbol cannot be used in a 
using-declaration
c:\gtk\gtkmm-2.2.3\glib\glibmm\value_custom.h(31) : error 
C2039: 'nothrow' : is not a member of 'operator``global namespace'''
c:\gtk\gtkmm-2.2.3\glib\glibmm\value_custom.h(31) : error 
C2873: 'nothrow' : symbol cannot be used in a using-declaration
c:\gtk\gtkmm-2.2.3\glib\glibmm\fileutils.h(37) : error 
C2039: 'input_iterator_tag' : is not a member of 'operator``global 
namespace'''
c:\gtk\gtkmm-2.2.3\glib\glibmm\fileutils.h(37) : error 
C2873: 'input_iterator_tag' : symbol cannot be used in a using-
declaration
c:\gtk\gtkmm-2.2.3\glib\glibmm\fileutils.h(38) : error 
C2039: 'string' : is not a member of 'operator``global namespace'''
c:\gtk\gtkmm-2.2.3\glib\glibmm\fileutils.h(38) : error 
C2873: 'string' : symbol cannot be used in a using-declaration
c:\gtk\gtkmm-2.2.3\glib\glibmm\main.h(34) : error C2039: 'vector' : 
is not a member of 'operator``global namespace'''
c:\gtk\gtkmm-2.2.3\glib\glibmm\main.h(34) : error C2873: 'vector' : 
symbol cannot be used in a using-declaration
c:\gtk\gtkmm-2.2.3\glib\glibmm\iochannel.h(37) : error 
C2039: 'string' : is not a member of 'operator``global namespace'''
c:\gtk\gtkmm-2.2.3\glib\glibmm\iochannel.h(37) : error 
C2873: 'string' : symbol cannot be used in a using-declaration
c:\gtk\gtkmm-2.2.3\glib\glibmm\markup.h(33) : error C2039: 'map' : 
is not a member of 'operator``global namespace'''
c:\gtk\gtkmm-2.2.3\glib\glibmm\markup.h(33) : error C2873: 'map' : 
symbol cannot be used in a using-declaration
c:\gtk\gtkmm-2.2.3\glib\glibmm\module.h(30) : error 
C2039: 'string' : is not a member of 'operator``global namespace'''
c:\gtk\gtkmm-2.2.3\glib\glibmm\module.h(30) : error 
C2873: 'string' : symbol cannot be used in a using-declaration
c:\gtk\gtkmm-2.2.3\glib\glibmm\containerhandle_shared.h(39) : error 
C2039: 'forward_iterator_tag' : is not a member of 'operator``global 
namespace'''
c:\gtk\gtkmm-2.2.3\glib\glibmm\containerhandle_shared.h(39) : error 
C2873: 'forward_iterator_tag' : symbol cannot be used in a using-
declaration
c:\gtk\gtkmm-2.2.3\glib\glibmm\containerhandle_shared.h(40) : error 
C2039: 'random_access_iterator_tag' : is not a member 
of 'operator``global namespace'''
c:\gtk\gtkmm-2.2.3\glib\glibmm\containerhandle_shared.h(40) : error 
C2873: 'random_access_iterator_tag' : symbol cannot be used in a 
using-declaration
c:\gtk\gtkmm-2.2.3\glib\glibmm\containerhandle_shared.h(41) : error 
C2039: 'distance' : is not a member of 'operator``global namespace'''
c:\gtk\gtkmm-2.2.3\glib\glibmm\containerhandle_shared.h(41) : error 
C2873: 'distance' : symbol cannot be used in a using-declaration
c:\gtk\gtkmm-2.2.3\glib\glibmm\containerhandle_shared.h(42) : error 
C2039: 'copy' : is not a member of 'operator``global namespace'''
c:\gtk\gtkmm-2.2.3\glib\glibmm\containerhandle_shared.h(42) : error 
C2873: 'copy' : symbol cannot be used in a using-declaration
c:\gtk\gtkmm-2.2.3\glib\glibmm\containerhandle_shared.h(43) : error 
C2039: 'vector' : is not a member of 'operator``global namespace'''
c:\gtk\gtkmm-2.2.3\glib\glibmm\containerhandle_shared.h(43) : error 
C2873: 'vector' : symbol cannot be used in a using-declaration
c:\gtk\gtkmm-2.2.3\glib\glibmm\containerhandle_shared.h(44) : error 
C2039: 'deque' : is not a member of 'operator``global namespace'''
c:\gtk\gtkmm-2.2.3\glib\glibmm\containerhandle_shared.h(44) : error 
C2873: 'deque' : symbol cannot be used in a using-declaration
c:\gtk\gtkmm-2.2.3\glib\glibmm\containerhandle_shared.h(45) : error 
C2039: 'list' : is not a member of 'operator``global namespace'''
c:\gtk\gtkmm-2.2.3\glib\glibmm\containerhandle_shared.h(45) : error 
C2873: 'list' : symbol cannot be used in a using-declaration
c:\gtk\gtkmm-2.2.3\glib\glibmm\shell.h(34) : error C2039: 'string' : 
is not a member of 'operator``global namespace'''
c:\gtk\gtkmm-2.2.3\glib\glibmm\shell.h(34) : error C2873: 'string' : 
symbol cannot be used in a using-declaration
c:\gtk\gtkmm-2.2.3\glib\glibmm\spawn.h(33) : error C2039: 'string' : 
is not a member of 'operator``global namespace'''
c:\gtk\gtkmm-2.2.3\glib\glibmm\spawn.h(33) : error C2873: 'string' : 
symbol cannot be used in a using-declaration
c:\gtk\gtkmm-2.2.3\glib\glibmm\thread.h(781) : warning 
C4800: 'gboolean' : forcing value to bool 'true' or 'false' 
(performance warning)
Comment 23 crs8 2003-06-18 18:45:00 UTC
Okay, this whole forum needs to be removed and tossed into the lake 
of fire. I started from scratch and got gtkmm 2.2 compiling and 
running in MSVC 2003 .NET I'm working on a tutorial and I'll post it 
when I'm done. 
Chris
Comment 24 Murray Cumming 2003-06-24 15:21:11 UTC
OK. With new project files, I guess? Consider patching the install
chapter in the "book" or just updating the MSVC++ .NET README if it's
lengthy and likely to change often.
Comment 25 Murray Cumming 2003-07-16 09:15:43 UTC
Please respond.
Comment 26 Frank Naumann 2003-08-04 18:13:12 UTC
Created attachment 18902 [details]
This are my VisualStudio NET 2003 project files, it's a .tar.gz archive. There is an detailed README inside how to compile it with VisualStudio.
Comment 27 Frank Naumann 2003-08-04 18:15:06 UTC
Created attachment 18903 [details] [review]
This is a small and simple patch to avoid lot of of VisualStudio NET warnings.
Comment 28 Frank Naumann 2003-08-04 18:16:14 UTC
Created attachment 18904 [details]
The VisualStudio NET 2003 buildlog of gtkmm.
Comment 29 Frank Naumann 2003-08-04 18:16:51 UTC
Created attachment 18905 [details]
The VisualStudio NET 2003 buildlog of glibmm.
Comment 30 Murray Cumming 2003-08-05 08:23:13 UTC
Thank you, but patches _must_ patch the ChangeLog. You should also
comment your code, to explain what you are doing. I can then apply
this next week.
Comment 31 Frank Naumann 2003-08-05 12:37:05 UTC
Created attachment 18922 [details] [review]
Small patch to avoid lot of of VisualStudio NET warnings with ChangeLog entry.
Comment 32 Frank Naumann 2003-08-08 07:07:31 UTC
Created attachment 19025 [details] [review]
Patch for VisualStudio template bug; TreeView::append_column_editable work now as expected
Comment 33 Murray Cumming 2003-08-11 12:53:33 UTC
re. Patch for VisualStudio template bug:
Looks good. I will try to apply all this and release a new version
next week. 
Comment 34 Murray Cumming 2003-08-20 08:34:33 UTC
re. VisualStudioNet 2003 project files:
Are these meant to be in a separate directory at the top-level, or in
the various existing (gtk, atk, pango, etc) directories? I would like
to keep them in a separate top-level MSVC_net2003 directory, but I
don't mind if there is a hierarchy of directories inside that.
Comment 35 Murray Cumming 2003-08-20 10:17:34 UTC
warnings and TreeView::append_column_editable() patches applied in
cvs. Well done.
Comment 36 Frank Naumann 2003-08-20 11:53:13 UTC
>Are these meant to be in a separate directory at the top-level

Yes! I thought that's what you want :-)
Comment 37 Murray Cumming 2003-08-20 16:53:20 UTC
OK. I have added this to cvs. Please try it out and tell me if it's
ready for a new tarball release.
Comment 38 Murray Cumming 2003-08-21 16:13:44 UTC
Or you can check the gtkmm 2.2.6 tarball.
Comment 39 Cedric Gustin 2003-08-21 19:32:09 UTC
Frank,

If you plan to provide a windows installer for your Visual Studio 
port of gtkmm, why don't we join forces ? Currently my installer for 
the mingw32 distribution is quite monolithic: you have to choose 
between a big installer for the full distribution or a smaller one if 
you're interested in the runtime only. Both installer are created 
InnoSetup.

I'm thinking about switching to NSIS (http://nsis.sourceforge.net) 
and implement some kind of net installer, like for the cygwin 
distribution, where packages can be separately downloaded, installed 
and updated. It would then be piece of cake to add your Visual Studio 
gtkmm DLLs and import libraries, along with ports of libglademm or 
other gtkmm-related libraries (gtkglextmm). 

What do you think ? Maybe you have some experience with NSIS, or 
somebody else wants to join ?
Comment 40 Murray Cumming 2003-08-21 20:05:09 UTC
Sounds very sensible.
Comment 41 Murray Cumming 2003-08-25 14:56:35 UTC
I'm assuming that this works. Reopen this bug if necessary.

Please discuss the installer on the list.
Comment 42 Murray Cumming 2003-10-22 13:28:26 UTC
By the way, the MSVC++ version of this code (ifdefed in gtkmm 2.2) is
now the default in gtkmm 2.3. That's a first step to tweaking it some
more so it can be used for the ComboBox. Thanks again.