好的,对于我正在开发的游戏,我的程序员决定将 FreePascal 与 SDL 结合使用,并向我展示了它的工作原理(尽管他使用的是 Linux 操作系统而我没有)。我尝试了多种将 SDL2.dll 和附带的头文件链接到 Lazarus 项目的方法,但它们似乎都不起作用。到目前为止,这是我尝试过的:
- 将 .dll 添加到我正在处理的项目的项目文件夹中
- Adding the .dlls to the FPC "Units" folder in my OS
- Adding the .dlls path in the project options window
- 直接在fpc.cfg文件中添加.dlls文件夹:
searchpath for libraries
-FlC:\lazarus\fpc\$FPCVERSION/lib
-Fl/lib;/usr/lib
-FlC:\lazarus\fpc\$FPCVERSION/lib/$FPCTARGET
-FlC:\lazarus\fpc\$FPCVERSION/lib/$FPCTARGET/SDL2
searchpath for tools
-FDC:\lazarus\fpc\$FPCVERSION/bin/$FPCTARGET
所以我也把它们放在 Uses 位置:
uses
{$IFDEF UNIX}{$IFDEF UseCThreads}
cthreads,
{$ENDIF}{$ENDIF}
Classes, sysutils, SDL2, SDL2_ttf
基本上,我如何将 SDL2 库链接到 Windows 8 操作系统上的 Lazarus?
最佳答案
我假设目标是 Windows 操作系统,否则 DLL 将无法运行。将 SDL.dll
放在应用程序目录中,这是 Windows 查找任何 DLL 的第一个地方。
将函数定义为
function name(params: types); cdecl; external 'SDL.dll';
cdecl
因参数传递给函数的方式而异。
希望这能让您入门。
关于windows - 在 Windows 操作系统上将 SDL 与 FreePascal 链接(使用 Lazarus),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33359681/