【问题标题】:What do I need to do to link with xlib?我需要做什么才能与 xlib 链接?
【发布时间】:2010-12-31 07:21:19
【问题描述】:

我正在使用 GCC,我需要添加哪些开关才能与 Xlib 链接?搜索后,我只能找到-lX11,但这给了我ld: library not found for -lX11

我使用的是 mac (10.6),但我不喜欢任何特定于 Mac 的东西。

【问题讨论】:

    标签: c gcc x11 xlib


    【解决方案1】:

    您还需要-L/usr/X11/lib。它并不完全是 Mac 特有的,但您会发现这些库的位置会因系统而异。

    【讨论】:

      【解决方案2】:
      $ locate libX11
      /Developer/SDKs/MacOSX10.4u.sdk/usr/X11R6/lib/libX11.6.2.dylib
      /Developer/SDKs/MacOSX10.4u.sdk/usr/X11R6/lib/libX11.6.dylib
      /Developer/SDKs/MacOSX10.4u.sdk/usr/X11R6/lib/libX11.a
      /Developer/SDKs/MacOSX10.4u.sdk/usr/X11R6/lib/libX11.dylib
      /Developer/SDKs/MacOSX10.5.sdk/usr/X11/lib/libX11.6.2.0.dylib
      /Developer/SDKs/MacOSX10.5.sdk/usr/X11/lib/libX11.6.dylib
      /Developer/SDKs/MacOSX10.5.sdk/usr/X11/lib/libX11.dylib
      /usr/X11/lib/libX11.6.2.0.dylib
      /usr/X11/lib/libX11.6.dylib
      /usr/X11/lib/libX11.dylib
      /usr/X11/lib/libX11.la
      

      我会试试的

      gcc [...] -L/usr/X11/lib -lX11 [...]
      

      设置库的搜索路径。

      【讨论】:

        【解决方案3】:

        您会感到惊讶,但有时-L/usr/X11R6/lib -lX11 答案-_-。

        【讨论】:

          【解决方案4】:

          您通常可以使用pkg-config 来确定您需要传递的标志:

          gcc my-program.c $(pkg-config --cflags --libs x11) -o my-program
          

          【讨论】:

          • 嘿!我不知道那是在那里。当个别程序提供它时,我一直很喜欢这种设施(例如root-configroot.cern.ch)。
          • 嗯...我的似乎是由 fink 提供的(在 Mac OS 10.5 上)。
          • +1 : 我喜欢有人要鱼并得到鱼竿作为回报的答案:)
          • 我想指出,这个答案在 ubuntu (gcc 4.6.1) 上对我不起作用。它将 -lX11 参数放在 -o 参数之前,并且由于 gcc 按指定的顺序搜索目标文件和库,我仍然会收到“未定义的引用”错误。另见:GCC documentation
          • @rakete 修复了订单。库需要在 .c 文件之后,而不是在 -o 参数之后,所以我把它放在最后,只是将 .c 文件移到库标志之前。
          【解决方案5】:

          Ubuntu 12.10(可能还有其他)需要sudo apt-get install libx11-dev

          【讨论】:

            猜你喜欢
            • 2012-07-13
            • 1970-01-01
            • 2021-08-14
            • 2016-11-29
            • 2020-05-12
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2020-08-20
            相关资源
            最近更新 更多