From: Steve K. <st...@st...> - 2004-09-08 02:17:31
|
On Sep 7, 2004, at 10:01 PM, Alex Epshteyn wrote: > I am new to this list and trying to get up to speed. > > It appears that the project uses gcc (MinGV and Cygwin) to build the > library, compiling library's wrapper wiax.dll (in diax project) is > also done > with gcc. > I have seen a few questions about compiling with VC++, but not too many > answers, and it is not obvious what has changed since these posts. > > Are the Microsoft VC++ project files out of date? Yes. > I would like to build a > dll using VC++, and wonder if that would be a relatively major > effort? Probably not. > Can > the library be compiled with VC++ without any patches? No; there's a couple of gcc-specific features that are used in the library. I went through and cleaned most of these up, and AFAIK the only issue left is that we use a zero-length array as the last member of a structure; in gcc, this refers to the memory _after_ the end of the structure, and was a neat hack that Mark did in libiax2. Unfortunately, nobody has come up with a similar construction that _is_ portable to compilers which don't support this (simple) extension. A proper fix for this would be something which is equally efficient, and portable, and would be accepted back into digium's libiax2 repository. I don't use VC++ at all -- I don't really use Windows that much, but when I do, I use gcc there. Since my use of iaxclient is for a portable project, it's just a lot easier to maintain the single Makefile, and use the same toolchain on every platform. -SteveK |