我有一个程序,使用SDL-bgi在Linux上工作。我已经从http://libxbgi.sourceforge.net/下载了SDL-bgi二进制文件,可以对其进行编译,但无法将其链接(给了我"undefined reference to ...错误)。下载包提供了一个动态链接库,但根据the answer to this question的说法,我需要一个.lib。我在下载中找不到任何.lib anywhere。
以下是解压缩文件夹中tree /f的输出:
│ AUTHORS
│ BUGS
│ build.sh
│ ChangeLog
│ CMakeLists.txt
│ INSTALL.md
│ LICENSE
│ README.md
│ sdl_bgi.spec
│ TODO
│ VERSION
│
├───bin
│ ├───CodeBlocks
│ │ SDL_bgi.dll
│ │
│ ├───Dev-Cpp
│ │ SDL_bgi.dll
│ │
│ └───Mingw64
│ SDL_bgi.dll
│
├───doc
│ functions.md
│ functions.pdf
│ howto_CodeBlocks.md
│ howto_CodeBlocks.pdf
│ howto_Dev-Cpp.md
│ howto_Dev-Cpp.pdf
│ sdl_bgi-quickref.pdf
│ sdl_bgi-quickref.tex
│ SDL_bgi_logo.png
│ SDL_bgi_logo.svg
│ turtlegraphics.pdf
│ turtlegraphics.tex
│ using.md
│ using.pdf
│
├───src
│ graphics.h
│ Makefile
│ Makefile.CodeBlocks
│ Makefile.DevCpp
│ SDL_bgi.c
│ SDL_bgi.h
│
└───test
[... a bunch of c files]我试图从它所在的位置链接到库,而不是文档中推荐的C:\CodeBlocks\MinGW\bin,因为我没有正确的权限。
发布于 2019-12-23 02:12:33
First方法如果你没有在代码块中安装旧的bordland图形接口,那么使用这个方法,否则你会得到像多个声明一样的错误,因为两个库都使用相同的函数声明
步骤:1-创建一个新的c控制台项目,任意命名,然后从下面的压缩包中粘贴include文件夹中的文件,并将其粘贴到C:\Program files (x86)\CodeBlocks\MinGW\include,然后将libsdlbgi.a从压缩文件粘贴到路径C:\Program Files (x86)\CodeBlocks\MinGW\lib
步骤:2-转到代码块,然后转到设置,然后选择编译器转到链接器选项,然后单击添加,然后浏览到之前粘贴的libsdlbgi.a文件,然后添加它,然后转到搜索目录链接器,再次对libsdlbgi.a执行相同的操作。
步骤:3-编写任何简单的程序并构建、编译和运行它。
如果同时需要bgi和sdl ,则使用第二种方法
请仔细执行所有步骤以使其正常工作
步骤:1-简单地使用类别中的SDL2在代码块中创建一个新项目,单击enter并为项目指定标题,然后单击next和finish以创建新项目。
步骤:2-转到您创建项目的目录,然后将这些文件从"SDL_bgi-2.2.4“src文件夹测试文件夹<代码>e223复制到项目文件夹中。
第3步:首先从代码块项目中删除默认main.cpp文件,然后将"sdlbgidemo.c"添加到项目中,然后在CodeBlocks的下一个窗口中单击确定,要求选择目标文件以调试“main.cpp”和“”
步骤:4-选择代码块中的sdlbgidemo.c,然后在代码编辑器中打开它,然后将#include <'graphics.h'>头文件更改为#include "SDL_bgi.c"
步骤:5-最后一步,按下 built 并运行按钮,它将构建并运行项目,你可能会在屏幕上看到之前粘贴的logo.bmp,然后你可以看到所有SDL_bgi库功能的演示。
这里是代码块项目文件zip,其中包含了所有必要的修改,因此您可以使用代码块轻松运行它。
[Code-Blocks Project File.zip]
如果您不想在每次创建新项目时重复步骤:2和步骤:3,则可以按照步骤:5来解决此问题。
步骤:6-首先转到您安装Codeblock的目录,然后浏览Mingw,然后在此文件夹中包含文件夹您可以简单地复制'SDL_bgi.c','SDL_bgi.h'或如果你已经安装了旧的Borland图形库BGI,那么你必须为SDL-BGI创建单独的文件夹,并且必须将我之前告诉你的所有文件粘贴到这个新创建的文件夹中,那么如果你想要在你的项目中使用或包含这些文件,只需键入以下几行#include "SDL_bgi.c"或#include“以前创建的文件夹/SDL_bgi.c”来运行你的程序。
这里是压缩文件的链接,其中有一些屏幕截图,我们已经采取的所有步骤到目前为止…
我希望这能解决你的问题并节省你的时间。
最后一个的
这就是所有的人
https://stackoverflow.com/questions/55608456
复制相似问题