【问题标题】:Linking libraries (C++)链接库 (C++)
【发布时间】:2009-09-14 07:13:36
【问题描述】:

通过 Eclipse 为 C/C++ 使用 MinGW,并尝试让 GLUT(OpenGL 实用工具包)在它上面工作,但我怀疑这是一个简单的问题。

尝试构建结果:

g++ -LC:\Documents and Settings\C\workspace\GLUTtest\Debug -LC:\Tools\MinGW\include\GL -LC:\Tools\MinGW\include -oGLUTtest.exe main.o -lglut32.lib C:\Tools\MinGW\bin..\lib\gcc\mingw32\3.4.5........\mingw32\bin\ld.exe:找不到-lglut32.lib

我在工作区目录 C:\Documents and Settings\C\workspace\GLUTtest 中有 glut32.lib。以下是 eclipse 给出的选项:

-L"C:\Documents and Settings\C\workspace\GLUTtest" -L"C:\Documents and Settings\C\workspace\GLUTtest\Debug" -L"C:\Documents and Settings\C\workspace \GLUTtest\GL" -L"C:\Tools\MinGW\include\GL" -L"C:\Tools\MinGW\include"

知道为什么它不拿起图书馆吗?

【问题讨论】:

  • 你试过 -lglut32 而不是 -lglut32.lib 吗?

标签: c++ linker


【解决方案1】:

您似乎试图将包含目录作为链接目录传递。找到包含 glut32.lib 的目录,并在找到的目录中添加链接目录参数 (-L)。

【讨论】:

    【解决方案2】:

    假设您有一个名为 libxxx.a、libxxx.so 或 xxx.lib 的库文件。链接时,应将参数设置为-lxxx

    其次,有时您必须将库路径与( -L/path/to/lib/dir )一起放置

    【讨论】:

      【解决方案3】:

      您将 "C:\Tools\MinGW\include\GL -LC:\Tools\MinGW\include" 作为链接目录 ( -L ) 传递,这似乎是您的包含路径。因此,将包含路径中的包含目录传递给包含路径,该路径将与 -I 选项一起出现,并检查您的链接路径是否存在于使用 -L 选项给出的列表中,如果没有,则将其添加到列表中,否则它将显示未定义的引用。

      【讨论】:

        猜你喜欢
        • 2020-05-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多