⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gtk+ faq.htm

📁 gtk 开发手册和参考文档。 包括gtk glib gdk等
💻 HTM
📖 第 1 页 / 共 4 页
字号:
      specified by giving the --exec-prefix flags to ./configure when compiling 
      GTK+. It defaults to $prefix, (specified with --prefix), which in turn 
      defaults to /usr/local/.</P>
      <P>This was done because "glibconfig.h" includes architecture dependent 
      information, and the rest of the include files are put in $prefix/include, 
      which can be shared between different architectures.</P>
      <P>GTK+ includes a shell script, <TT class=LITERAL>/gtk-config/</TT>, that 
      makes it easy to find out the correct include paths. The GTK+ Tutorial 
      includes an example of using <TT class=LITERAL>/gtk-config/</TT> for 
      simple compilation from the command line. For information about more 
      complicated configuration, see the file docs/gtk-config.txt in the GTK+ 
      distribution.</P>
      <P>If you are trying to compile an old program, you may be able to work 
      around the problem by configuring it with a command line like:</P>
      <P>
      <P class=LITERALLAYOUT><TT class=LITERAL>setenv CPPFLAGS 
      "-I/usr/local/include/glib/include"</TT><BR><TT 
      class=LITERAL>./configure</TT></P>
      <P></P>
      <P>(Substitute the appropriate value of $exec_prefix for 
      /usr/local.)</P></DIV>
      <DIV class=SECT1>
      <HR>

      <H1 class=SECT1><A name=AEN247>2.7. When installing a GTK+ application, 
      configure reports that it can't find GTK.</A></H1>
      <H4 class=sect1>When installing a GTK+ application, configure reports that 
      it can't find GTK.</H4>
      <P>There are several common reasons for this:</P>
      <P></P>
      <UL>
        <LI>
        <P>You have an old version of GTK installed somewhere. RedHat 5.0, for 
        example, installs an older copy of GTK that may not work with the latest 
        applications. You should remove this old copy, but note that in the case 
        of RedHat 5.0 this will break the <TT class=LITERAL>control-panel</TT> 
        applications.</P>
        <LI>
        <P><TT class=LITERAL>gtk-config</TT> (or another component of GTK) isn't 
        in your path, or there is an old version on your system. Type:</P>
        <P>
        <P class=LITERALLAYOUT><TT class=LITERAL>gtk-config --version</TT></P>
        <P></P>
        <P>to check for both of these. If it returns a value different from what 
        you expect, then you have an old version of GTK on your system.</P>
        <LI>
        <P>The ./configure script can't find the GTK libraries. As ./configure 
        compiles various test programs, it needs to be able to find the GTK 
        libraries. See the question above for help on this. </P></LI></UL>
      <P>If none of the above help, then have a look in config.log, which is 
      generated by ./configure as it runs. At the bottom will be the last action 
      it took before failing. If it is a section of source code, copy the source 
      code to a file and compile it with the line just above it in config.log. 
      If the compilation is successful, try executing it.</P></DIV></DIV>
      <DIV class=CHAPTER>
      <HR>

      <H1><A name=AEN264>Chapter 3. Development of GTK+</A></H1>
      <DIV class=TOC>
      <DL>
        <DT><B>Table of Contents</B>
        <DT>3.1. <A href="http://www.gtk.org/faq/#AEN266">Whats this CVS thing 
        that everyone keeps talking about, and how do I access it?</A>
        <DT>3.2. <A href="http://www.gtk.org/faq/#AEN295">How can I contribute 
        to GTK+?</A>
        <DT>3.3. <A href="http://www.gtk.org/faq/#AEN315">How do I know if my 
        patch got applied, and if not, why not?</A>
        <DT>3.4. <A href="http://www.gtk.org/faq/#AEN324">What is the policy on 
        incorporating new widgets into the library?</A>
        <DT>3.5. <A href="http://www.gtk.org/faq/#AEN327">Is anyone working on 
        bindings for languages other than C?</A></DT></DL></DIV>
      <DIV class=SECT1>
      <H1 class=SECT1><A name=AEN266>3.1. Whats this CVS thing that everyone 
      keeps talking about, and how do I access it?</A></H1>
      <H4 class=sect1>Whats this CVS thing that everyone keeps talking about, 
      and how do I access it?</H4>
      <P>CVS is the Concurent Version System and is a very popular means of 
      version control for software projects. It is designed to allow multiple 
      authors to be able to simultanously operate on the same source tree. This 
      source tree is centrally maintained, but each developer has a local mirror 
      of this repository that they make there changes to.</P>
      <P>The GTK+ developers use a CVS repository to store the master copy of 
      the current development version of GTK+. As such, people wishing to 
      contribute patches to GTK+ should generate them against the CVS version. 
      Normal people should use the packaged releases.</P>
      <P>The CVS toolset is available as RPM packages from the usual RedHat 
      sites. The latest version is available at <A target=_top 
      href="http://download.cyclic.com/pub/">http://download.cyclic.com/pub/</A></P>
      <P>Anyone can download the latest CVS version of GTK+ by using anonymous 
      access using the following steps:</P>
      <P></P>
      <UL>
        <LI>
        <P>In a bourne shell descendant (e.g. bash) type:</P>
        <P>
        <P class=LITERALLAYOUT><TT 
        class=LITERAL>CVSROOT=':pserver:anonymous@anoncvs.gnome.org:/cvs/gnome'</TT><BR><TT 
        class=LITERAL>export CVSROOT</TT></P>
        <P></P>
        <LI>
        <P>Next, the first time the source tree is checked out, a cvs login is 
        needed. </P>
        <P>
        <P class=LITERALLAYOUT><TT class=LITERAL>cvs login</TT></P>
        <P></P>
        <P>This will ask you for a password. There is no password for 
        cvs.gimp.org, so just enter a carriage return.</P>
        <LI>
        <P>To get the tree and place it in a subdir of your current working 
        directory, issue the command:</P>
        <P>
        <P class=LITERALLAYOUT><TT class=LITERAL>cvs -z3 get gtk+</TT></P>
        <P></P>
        <P>Note that with the GTK+ 1.1 tree, glib has been moved to a separate 
        CVS module, so if you don't have glib installed you will need to get 
        that as well:</P>
        <P>
        <P class=LITERALLAYOUT><TT class=LITERAL>cvs -z3 get glib</TT></P>
        <P></P></LI></UL></DIV>
      <DIV class=SECT1>
      <HR>

      <H1 class=SECT1><A name=AEN295>3.2. How can I contribute to GTK+?</A></H1>
      <H4 class=sect1>How can I contribute to GTK+?</H4>
      <P>It's simple. If something doesn't work like you think it should in a 
      program, check the documentation to make sure you're not missing 
      something. If it is a true bug or missing feature, track it down in the 
      GTK+ source, change it, and then generate a patch in the form of a 
      'context diff'. This can be done using a command such as <TT 
      class=LITERAL>diff -ru &lt;oldfile&gt; &lt;newfile&gt;</TT>. Then upload 
      the patchfile to:</P>
      <P>
      <P class=LITERALLAYOUT><TT 
      class=LITERAL>ftp://ftp.gtk.org/incoming</TT></P>
      <P></P>
      <P>along with a README file. Make sure you follow the naming conventions 
      or your patch will just be deleted! The filenames should be of this 
      form:</P>
      <P>
      <P class=LITERALLAYOUT><TT class=LITERAL>gtk&lt;username&gt;-&lt;date 
      yymmdd-n&gt;.patch.gz</TT><BR><TT 
      class=LITERAL>gtk-&lt;username&gt;-&lt;date 
      yymmdd-n&gt;.patch.README</TT></P>
      <P></P>
      <P>The "n" in the date indicates a unique number (starting from 0) of 
      patches you uploaded that day. It should be 0, unless you upload more than 
      one patch in the same day.</P>
      <P>Example:</P>
      <P>
      <P class=LITERALLAYOUT><TT 
      class=LITERAL>gtk-gale-982701-0.patch.gz</TT><BR><TT 
      class=LITERAL>gtk-gale-982701-0.patch.README</TT></P>
      <P></P>
      <P>Once you upload <I class=EMPHASIS>anything</I>, send the README to 
      ftp-admin@gtk.org</P></DIV>
      <DIV class=SECT1>
      <HR>

      <H1 class=SECT1><A name=AEN315>3.3. How do I know if my patch got applied, 
      and if not, why not?</A></H1>
      <H4 class=sect1>How do I know if my patch got applied, and if not, why 
      not?</H4>
      <P>Uploaded patches will be moved to <TT 
      class=FILENAME>ftp://ftp.gtk.org/pub/gtk/patches</TT> where one of the 
      GTK+ development team will pick them up. If applied, they will be moved to 
      <TT class=FILENAME>/pub/gtk/patches/old</TT>.</P>
      <P>Patches that aren't applied, for whatever reason, are moved to <TT 
      class=FILENAME>/pub/gtk/patches/unapplied</TT> or <TT 
      class=FILENAME>/pub/gtk/patches/outdated</TT>. At this point you can ask 
      on the <TT class=LITERAL>gtk-list</TT> mailing list why your patch wasn't 
      applied. There are many possible reasons why patches may not be applied, 
      ranging from it doesn't apply cleanly, to it isn't right. Don't be put off 
      if your patch didn't make it first time round.</P></DIV>
      <DIV class=SECT1>
      <HR>

      <H1 class=SECT1><A name=AEN324>3.4. What is the policy on incorporating 
      new widgets into the library?</A></H1>
      <H4 class=sect1>What is the policy on incorporating new widgets into the 
      library?</H4>
      <P>This is up to the authors, so you will have to ask them once you are 
      done with your widget. As a general guideline, widgets that are generally 
      useful, work, and are not a disgrace to the widget set will gladly be 
      included.</P></DIV>
      <DIV class=SECT1>
      <HR>

      <H1 class=SECT1><A name=AEN327>3.5. Is anyone working on bindings for 
      languages other than C?</A></H1>
      <H4 class=sect1>Is anyone working on bindings for languages other than 
      C?</H4>
      <P>The GTK+ home page (<A target=_top 
      href="http://www.gtk.org/">http://www.gtk.org/</A>) presents a list of 
      GTK+ bindings.</P>
      <P></P>
      <UL>
        <LI>
        <P>There are several C++ wrappers for GTK+.</P>
        <P></P>
        <UL>
          <LI>
          <P>the gtk-- package, which is a very small wrapper for GTK+. You can 
          find the home page at <A target=_top 
          href="http://www.cs.tut.fi/~p150650/gtk/gtk--.html">http://www.cs.tut.fi/~p150650/gtk/gtk--.html</A>. 
          The FTP site is <A target=_top 
          href="ftp://ftp.gtk.org/pub/gtk/gtk--">ftp://ftp.gtk.org/pub/gtk/gtk--</A>.</P>
          <LI>
          <P>the VDK package, which was built as the base package of a GTK+ 
          application Borland-like builder. The home page can be found at <A 
          target=_top 
          href="http://www.guest.net/homepages/mmotta/VDKHome">http://www.guest.net/homepages/mmotta/VDKHome</A>.</P>
          <LI>
          <P>The wxWindows/Gtk package, a free C++ library for cross-platform 
          GUI development. The home page of this package is <A target=_top 
          href="http://www.freiburg.linux.de/~wxxt/">http://www.freiburg.linux.de/~wxxt/</A>.</P></LI></UL>
        <LI>
        <P>There are three known Objective-c bindings currently in 
        development:</P>
        <P></P>
        <UL>
          <LI>
          <P>The <A target=_top 
          href="http://www.gnome.org/">http://www.gnome.org/</A> package of 
          choice is objgtk. Objgtk is based on the Object class and is 
          maintained by <A target=_top href="mailto:sopwith@cuc.edu">Elliot 
          Lee</A>. Apparently, objgtk is being accepted as the `standard' 
          Objective-C binding for GTK+.</P>
          <LI>
          <P>If you are more inclined towards the <A target=_top 
          href="http://www.gnustep.org/">GNUstep project</A>, you may want to 
          check out GTKKit by <A target=_top href="mailto:helge@mdlink.de">Helge 
          He

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -