Re: Why we split the include directory to so many sub-directories?



On Fri, Mar 20, 2009 at 8:28 PM, Murray Cumming <murrayc murrayc com> wrote:
> On Fri, 2009-03-20 at 17:41 +1100, Dancefire wrote:
>> Hi,
>>
>> I know I can use property sheet in MSVC under Windows. But the reason
>> I have to use it is that there are too many include directory to
>> setup, to easy my life, I have to use the property sheet.
>>
>> I checked the \gtkmm\include directory. It is like following:
>>
>> ├─atk-1.0
>> │  └─atk
>> ├─atkmm-1.6
>> │  └─atkmm
>> │      └─private
>> ├─cairo
>> ├─cairomm-1.0
>> │  └─cairomm
>> ├─gdkmm-2.4
>> │  └─gdkmm
>> │      └─private
>> ├─giomm-2.4
>> │  └─giomm
>> │      └─private
>> ├─glib-2.0
>> │  ├─gio
>> │  ├─glib
>> │  └─gobject
>> ...
>>
>> To include them, I have to put \gtkmm\include\atk-1.0\, \gtkmm\include
>> \atkmm-1.6\, \gtkmm\include\gdkmm-2.4\, ... to my additional include
>> directories.
>>
>> However, it seems not necessary in this way. Why not put them
>> together? Such as:
>>
>> ├─atk
>> ├─atkmm
>> │  └─private
>> ├─cairomm
>> ├─gdkmm
>> │  └─private
>> ├─giomm
>> │  └─private
>> ├─gio
>> ├─glib
>> ├─gobject
>> ...
>
> So that ABI-incompatible versions (such as gtkmm-1.2, gtkmm 2.0, or a
> future gtkmm-3.0 ABI version) can install in parallel without forcing
> you to port all your applications at the same time.
>

But there is no ABI-incompatible versions in each installation, right?
Just like the win32 installer's warning(uninstall previous, overwrite,
or cancel, if there is an other version exist), if I want to install
another gtkmm installation in other version in parallel, I will (and
have to) install them into a different location. For different
application, I can just point them to different include direction of
different version of installation. So, there is no need to split
include directories in a single gtkmm installation, isn't it?


>> So, when setting the project, I only need put \gtkmm\include to the
>> additional include directories setting.
>>
>> If we use autolink technology together, the MSVC is not necessary any
>> more. Since it is just set the include and library directories, and
>> library name.
>
>>
> --
> murrayc murrayc com
> www.murrayc.com
> www.openismus.com
>
>

-- 
Tao Wang


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]