相关疑难解决方法(0)

什么是未定义的引用/未解析的外部符号错误,我该如何解决?

什么是未定义的参考/未解决的外部符号错误?什么是常见原因以及如何修复/预防它们?

随意编辑/添加您自己的.

c++ c++-faq linker-errors unresolved-external undefined-reference

1418
推荐指数
32
解决办法
52万
查看次数

使用Eclipse CDT + MinGW + GLEW + GLFW的OpenGL:未定义的参考

编辑:我在此期间想到了这一点,并在下面写了详细的答案.

我刚试过在Win7上从Express版本的MSVC 10切换到Eclipse CDT,在配置时遇到了以下简单的OpenGL代码问题(在Visual Studio中可以正常工作):

#define GLEW_STATIC
#include <GL/glew.h>
#include <GLFW/glfw3.h>

int main()
{
    GLFWwindow* w;

    if (!glfwInit())
        return -1;

    w = glfwCreateWindow(640, 480, "Hello World", NULL, NULL);
    if (!w)
    {
        glfwTerminate();
        return -1;
    }

    glfwMakeContextCurrent(w);

    glewExperimental = true;
    if (glewInit() != GLEW_OK)
    {
        return -1;
    }

    while (!glfwWindowShouldClose(w))
    {
        glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
        glfwSwapBuffers(w);
        glfwPollEvents();
    }

    glfwTerminate();
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

在Visual Studio中,我包括GLFW和GLEW的库路径,并按顺序链接(除了VS内置的东西)opengl32.lib,glew32s.lib,glfw3.lib.

现在,如果我在Eclipse CDT中做同样的事情,我无法让它工作.发生以下错误:

Info: Internal Builder is used for build
g++ "-LD:\\lib\\cpp\\glfw-3.0.1.bin.WIN32\\lib-mingw" "-LD:\\lib\\cpp\\glew-1.10.0binaries\\lib\\Release\\Win32" -o glfwcheck.exe main.o -lopengl32 -lglew32s …
Run Code Online (Sandbox Code Playgroud)

c++ opengl glew mingw glfw

5
推荐指数
1
解决办法
7846
查看次数

GLFW未定义的参考文献

我正在尝试在项目中使用GLFW,但是当我编译它时,我得到了很多未定义的引用错误,而其中许多都在库文件(libglfw.a)上.我试过两个,编译库并下载它,但没有成功.我在netbeans上使用运行在Windows 7 32位上的MinGW和MSYS.GLFW版本是2.7.3;

这些是错误:

"/usr/bin/make" -f nbproject/Makefile-Debug.mk QMAKE= SUBPROJECTS= .build-conf
make[1]: Entering directory `/c/Users/Raphael/Documents/NetBeansProjects/Prism'
"/usr/bin/make"  -f nbproject/Makefile-Debug.mk dist/Debug/MinGW-Windows/prism.exe
make[2]: Entering directory `/c/Users/Raphael/Documents/NetBeansProjects/Prism'
mkdir -p build/Debug/MinGW-Windows
rm -f build/Debug/MinGW-Windows/main.o.d
g++.exe    -c -g -MMD -MP -MF build/Debug/MinGW-Windows/main.o.d -o build/Debug/MinGW-Windows/main.o main.cpp
mkdir -p dist/Debug/MinGW-Windows
g++.exe     -o dist/Debug/MinGW-Windows/prism build/Debug/MinGW-Windows/main.o build/Debug/MinGW-Windows/ByteBuffer.o -Lexternal -lglfw 
build/Debug/MinGW-Windows/main.o: In function `main':
C:\Users\Raphael\Documents\NetBeansProjects\Prism/main.cpp:35: undefined reference to `glMatrixMode@4'
C:\Users\Raphael\Documents\NetBeansProjects\Prism/main.cpp:36: undefined reference to `glLoadIdentity@0'
build/Debug/MinGW-Windows/main.o: In function `Z6renderv':
C:\Users\Raphael\Documents\NetBeansProjects\Prism/main.cpp:56: undefined reference to `glClearColor@16'
C:\Users\Raphael\Documents\NetBeansProjects\Prism/main.cpp:57: undefined reference to `glClear@4'
c:/mingw/bin/../lib/gcc/mingw32/4.6.1/../../../libglfw.a(window.o):window.c:(.text+0x8ae): undefined reference to …
Run Code Online (Sandbox Code Playgroud)

c++ mingw glfw netbeans-7

4
推荐指数
3
解决办法
2万
查看次数