C语言 如何编译这个dll使用SDL与MinGW?

fruv7luv  于 2023-01-01  发布在  其他
关注(0)|答案(1)|浏览(197)

好的,我已经在这个fork上工作了一年多了,这个东西不想在Windows 10上运行的x86-64 mingw上编译为dll。https://github.com/kometbomb/klystron/wiki/libksnd#compiling-the-library
这是它告诉(还有其他错误可以修复,但这最激怒了我):

Building ksndstatic.lib...
make: lib: No such file or directory
make: [Makefile:117: bin.release/libksndstatic.a] Error 127 (ignored)
Linking ksnd.dll...
Building ksnd.lib...
make: lib: No such file or directory
make: [Makefile:127: bin.release/ksnd.dll] Error 127 (ignored)

lib到底是什么东西?!这是Visual Studio的东西还是dlltoollibtool的过时名称?这是为什么样的僵尸工具链制作的?(提示:2007年或更早)
使用相同的windows mingw工具链,可以相对容易地将其编译为子模块:https://github.com/kometbomb/klystrack或者,如果这不工作,尝试我的fork:https://github.com/ltva1/klystrack
所以问题是如何编译它,至少与SDL链接?也许我将能够让它与本机OSes api工作,但至少我想要一个dll,我可以在其他C/C++项目中使用。

vc6uscn9

vc6uscn91#

好的,静态链接至少可以工作。音频缓冲区有一些问题,但这超出了这个问题的范围。我遵循了上面线程中的建议:未定义COMSPEC并在未定义COMSPEC的情况下添加了到winmm的链接。请参见此处的makefile更改:https://github.com/LTVA1/klystron/commit/47e4c31c86833ce8d879d4474ba4045e95ea1a22(COMSPEC未定义的内容被注解掉,因此使用repo作为子模块的主项目被编译; -lwsock32的东西是unneded实际上)。至少我得到的声音从东西。将等待2天接受作为答案。

相关问题