C++ 对我甚至没有使用的函数的未定义引用?

C++ 对我甚至没有使用的函数的未定义引用?,c++,header,codeblocks,bgi,C++,Header,Codeblocks,Bgi,所以我仍在努力让我的graphics.h lib正常工作。我很快就能修复所有奇怪的错误了。 我把一切都安装好了。 对于未定义的错误,我遇到了很多麻烦: -------------- Build: Debug in LEVEL EDITORRRR (compiler: GNU GCC Compiler)--------------- mingw32-g++.exe -Wall -fexceptions -g -c "C:\Users\Moustachespy\Documents\LEV

所以我仍在努力让我的graphics.h lib正常工作。我很快就能修复所有奇怪的错误了。 我把一切都安装好了。 对于未定义的错误,我遇到了很多麻烦:

    -------------- Build: Debug in LEVEL EDITORRRR (compiler: GNU GCC Compiler)---------------

mingw32-g++.exe -Wall -fexceptions -g  -c "C:\Users\Moustachespy\Documents\LEVEL EDITORRRR\main.cpp" -o obj\Debug\main.o
mingw32-g++.exe  -o "bin\Debug\LEVEL EDITORRRR.exe" obj\Debug\main.o   "C:\Program Files (x86)\CodeBlocks\MinGW\lib\libbgi.a"
C:\Program Files (x86)\CodeBlocks\MinGW\lib\libbgi.a(winbgi.o):winbgi.cxx:(.text+0x133): undefined reference to `GetStockObject@4'
C:\Program Files (x86)\CodeBlocks\MinGW\lib\libbgi.a(winbgi.o):winbgi.cxx:(.text+0x28e): undefined reference to `GetStockObject@4'
C:\Program Files (x86)\CodeBlocks\MinGW\lib\libbgi.a(winbgi.o):winbgi.cxx:(.text+0x478): undefined reference to `GetStockObject@4'
C:\Program Files (x86)\CodeBlocks\MinGW\lib\libbgi.a(winbgi.o):winbgi.cxx:(.text+0x48e): undefined reference to `SelectObject@8'
C:\Program Files (x86)\CodeBlocks\MinGW\lib\libbgi.a(winbgi.o):winbgi.cxx:(.text+0x499): undefined reference to `DeleteObject@4'
C:\Program Files (x86)\CodeBlocks\MinGW\lib\libbgi.a(winbgi.o):winbgi.cxx:(.text+0x4a8): undefined reference to `GetStockObject@4'
C:\Program Files (x86)\CodeBlocks\MinGW\lib\libbgi.a(winbgi.o):winbgi.cxx:(.text+0x4be): undefined reference to `SelectObject@8'
C:\Program Files (x86)\CodeBlocks\MinGW\lib\libbgi.a(winbgi.o):winbgi.cxx:(.text+0x4c9): undefined reference to `DeleteObject@4'
C:\Program Files (x86)\CodeBlocks\MinGW\lib\libbgi.a(winbgi.o):winbgi.cxx:(.text+0x4ec): undefined reference to `SetTextColor@8'
C:\Program Files (x86)\CodeBlocks\MinGW\lib\libbgi.a(winbgi.o):winbgi.cxx:(.text+0x1875): undefined reference to `GetStockObject@4'
C:/Program Files (x86)/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/4.9.2/../../../../mingw32/bin/ld.exe: C:\Program Files (x86)\CodeBlocks\MinGW\lib\libbgi.a(winbgi.o): bad reloc address 0x0 in section `.data'
C:/Program Files (x86)/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/4.9.2/../../../../mingw32/bin/ld.exe: final link failed: Invalid operation
collect2.exe: error: ld returned 1 exit status
Process terminated with status 1 (0 minute(s), 11 second(s))
11 error(s), 0 warning(s) (0 minute(s), 11 second(s))
我能做些什么? 谷歌不会帮我的。 如果你还需要什么,告诉我,我会提供:D

我的代码:

#include <iostream>
#include <graphics.h>
using namespace std;

int main()
{
    cout << "Hello world!" << endl;
    initwindow(1000,1000);
    return 0;

}

您似乎没有链接到gdi32库,但包含了标题

编辑:
我不知道代码块是如何工作的。您的指导老师是否强迫您使用该编译器,因为您可以免费下载并使用Microsoft Visual Studio 2015?它是一个更好的编译器,并在调试信息中为您提供更多详细信息。除了无法访问你的控制台程序设置和非常稀疏的调试信息,我唯一能说的是确认你在你的入口点源文件中包含了Windows .h,如果你不限制使用什么编译器与VS 2015一起使用它是最新的Visual Studio使用C++ V14,将更加友好。祝您好运。

您似乎没有链接到gdi32库,但包含了标题

编辑:
我不知道代码块是如何工作的。您的指导老师是否强迫您使用该编译器,因为您可以免费下载并使用Microsoft Visual Studio 2015?它是一个更好的编译器,并在调试信息中为您提供更多详细信息。除了无法访问你的控制台程序设置和非常稀疏的调试信息,我唯一能说的是确认你在你的入口点源文件中包含了Windows .h,如果你不限制使用什么编译器与VS 2015一起使用它是最新的Visual Studio使用C++ V14,将更加友好。祝您好运。

实际上您的程序是针对windows gui 32的。您应该选择windows gui 32模板而不是控制台应用程序。

实际上,您的程序是针对windows gui 32的。您应该选择windows gui 32模板而不是控制台应用程序。

initwindow的实现调用GetStockObject。这可能是使用windows 10 64位从windows dll文件.im链接而来的。这就是问题所在吗?如何修复initwindow调用GetStockObject的实现。这可能是使用windows 10 64位从windows dll文件.im链接而来的。这就是问题所在吗?我怎样才能解决它呢?它和其他所有的都是一样的。相信我,我的checkedIt看起来像是许多核心windows API没有被链接。当您创建一个空的win32或MFC项目时,这些通常在项目设置中链接。为了让我知道发生了什么…你在用makefile吗?你使用的是什么C++版本?我真的不知道。我刚刚启动了一个新的CODBOLDES项目,点击了控制台应用程序并选择了C++。我对编程相当陌生,我是在本学年初开始的,所以我真的不知道condeblocks是否在使用makefile。。祝你好运真希望我能多帮点忙。真有趣,因为在你回答之前一个小时我就是这么做的!不过还是要谢谢你!它与其他所有的readimagefile完全相同。相信我,我的checkedIt看起来像是许多核心windows API没有被链接。当您创建一个空的win32或MFC项目时,这些通常在项目设置中链接。为了让我知道发生了什么…你在用makefile吗?你使用的是什么C++版本?我真的不知道。我刚刚启动了一个新的CODBOLDES项目,点击了控制台应用程序并选择了C++。我对编程相当陌生,我是在本学年初开始的,所以我真的不知道condeblocks是否在使用makefile。。祝你好运真希望我能多帮点忙。真有趣,因为在你回答之前一个小时我就是这么做的!不过还是要谢谢你!John,请指定如何更具体地选择windows gui 32模板以使此答案对提问者更有价值。John,请指定如何更具体地选择windows gui 32模板以使此答案对提问者更有价值。