From: Mark V. P. <Mar...@te...> - 2012-10-24 08:38:39
|
Hi, I'm trying to use SWIG to use C++ code from Ruby. Since I saw Visual C++ 6 projects in the examples, I assumed it can be done with Visual C++ 2005 as well. The header files stdint.h and inttypes.h seemed to be missing, but I could copy them from Visual C++ 2010 (which I have but don't use often yet). But the header file unistd.h is also missing, which is actually specific for POSIX systems. I read somewhere that you can copy io.h and rename it to unistd.h. When I try that I get errors saying that rb_pid_t is undefined, which is #defined to pid_t. I also have this problem with the example called 'simple'. On Linux I see that pid_t is defined after including unistd.h, so the problem is probably caused by 'faking' the unistd.h header. Did I forget something to do? Or should I use Cygwin, which is more compatible with POSIX stuff? Seems unlikely because there are examples for Visual C++. Or should I redo all this in Linux (less convenient but possible for me)? Thanks in advance, -- Mark _________________________________________ When you get lemons, you make lemonade. When you get hardware, you make software. |
From: Mark V. P. <Mar...@te...> - 2012-10-24 13:54:28
|
PS: I'm using Ruby 1.9.3, SWIG 2.0.8 and Windows 7. And I added NT=1 and IMPORT to the preprocessor, in case you were wondering. Op 24/10/2012 10:38, Mark Van Peteghem schreef: > Hi, > > I'm trying to use SWIG to use C++ code from Ruby. Since I saw Visual C++ > 6 projects in the examples, I assumed it can be done with Visual C++ > 2005 as well. The header files stdint.h and inttypes.h seemed to be > missing, but I could copy them from Visual C++ 2010 (which I have but > don't use often yet). > > But the header file unistd.h is also missing, which is actually specific > for POSIX systems. I read somewhere that you can copy io.h and rename it > to unistd.h. When I try that I get errors saying that rb_pid_t is > undefined, which is #defined to pid_t. I also have this problem with the > example called 'simple'. On Linux I see that pid_t is defined after > including unistd.h, so the problem is probably caused by 'faking' the > unistd.h header. > > Did I forget something to do? Or should I use Cygwin, which is more > compatible with POSIX stuff? Seems unlikely because there are examples > for Visual C++. Or should I redo all this in Linux (less convenient but > possible for me)? > > Thanks in advance, > |
From: jwilson <jwi...@gm...> - 2013-02-26 18:53:01
|
Mark, I am running into this same issue in building the SWIG Ruby example in Visual Studio. In searching for a resolution, I've found your post in a number of forums with no responses. I'm curious if you ever found a solution, or did you have to turn to another solution, such as Cygwin, to build your SWIG project under Windows? Many thanks, James Wilson -- View this message in context: http://swig.10945.n7.nabble.com/Ruby-and-Visual-Studio-tp8668p13096.html Sent from the swig-user mailing list archive at Nabble.com. |
From: jwilson <jwi...@gm...> - 2013-03-15 19:30:25
|
For any looking, the solution to this issue for me required building Ruby against MSVC using nmake. The basic instructions can be derived from this blog post <http://codinghappy.blogspot.com/2010/12/ruby-swig-visual-studio-2008-and.html> . -- View this message in context: http://swig.10945.n7.nabble.com/Ruby-and-Visual-Studio-tp8668p13135.html Sent from the swig-user mailing list archive at Nabble.com. |