【问题标题】:trying to build a PortMidi example in Mingw试图在 Mingw 中构建一个 PortMidi 示例
【发布时间】:2013-08-09 22:38:17
【问题描述】:

我试图在 Mingw 中构建一个 PortMidi 示例,但它依赖于两个库 portmidi 和 winmm,我重新编译了 portmidi 以获得 portimidi.a,但我收到了缺少代码的错误。

是否可以将 winmm 链接到 mingw,我必须使用“.a”或“.lib”库?

我用这个命令编译源码:

g++ -o prg latency.c -IHeaders -LLib -lportmidi -lwinmm 

感谢您的帮助。

【问题讨论】:

  • 我使用这个命令编译了示例“gcc -o prg latency.c -IHeaders -lportmidi -lwinmm”并将portmidi复制到mingw中的lib文件夹

标签: linker mingw midi .a .lib


【解决方案1】:

你不需要 winmm.a 来构建latency.c

您需要
libpmjni.dll.alibportmidi.dll.a
libportmidi_s.a

用 CMake 构建 portmidi 需要 5 分钟。

  • portmidi 来源:c:/src/portmidi217/
  • portmidi 构建:c:/minGW/portmidi

然后就可以用下面的命令编译了。

gcc.exe  -c -g -I/c/src/portmidi217/pm_common -I/c/src/portmidi217/porttime -MMD -MP -MF build/Debug/latency.o.d -o build/Debug/latency.o latency.c
mkdir -p dist/Debug
gcc.exe  -o dist/Debug/latency build/Debug/latency.o -L/c/minGW/portmidi -lpmjni.dll -lportmidi.dll 


使用 CMake 构建 portmidi

  • 下载或使用 Cmake
  • 在c:\cmake\bin文件夹中双击cmake-gui.exe

将 portmidi 解压到文件夹 c:\minGW\src\portmidi217 您可以在下一张图片中看到
(当然用C:\替换所有T:\

按配置

描述的设置 --> 点击下一步

描述的设置 --> 点击确定

出现错误,请再次单击配置

下一步看起来更好,再次点击配置

设置描述为发布或调试
也许它在没有c:\msys\1.0\bin\sh.exe
的情况下工作 再次点击配置

看起来不错 --> 点击Generate

cd 到你刚刚构建的c:\minGW\portmidi

打开windows命令类型make

构建时间很短

他们来了:.a and .dll

  • 将所有.a复制到c:\minGW\lib
  • 将所有.dll复制到c:\minGW\bin
  • C:\minGW\src\portmidi217\pm_commonC:\minGW\src\portmidi217\porttime复制
    所有 .h 到您的 latency.c 所在的文件夹。

然后就可以latency.c按照上面的方法编译了,只需要调整路径即可。

【讨论】:

  • 谢谢,但 libpmjni.dll.a 使用 java,我正在尝试完全用 c++ 构建它,这就是我需要链接 winmm 的原因。我发现 winmm 在 mingw 的 lib 文件中以 libwinmm.a 的形式存在,但我尝试将它与 -llibwinmm 命令链接但没有成功。请帮帮我。
  • 我完全用 C++ 构建它 winmm 自动链接到 C:\WINDOWS\system32\winmm.dll 它是系统的 dll !您是否使用 cmake 构建 portmidi 以在 5 分钟内创建 makefile 并在 1 分钟内使用 gcc latency.c 编译,这非常容易。
  • 你能帮我处理命令或 cmake 文件吗,我遇到 cmake 问题
  • 哇!!非常感谢您为我的问题付出的努力,我希望有一天我可以帮助您.....非常感谢如果您需要什么,请告诉我
  • 不,现在我得到这个“找不到 JNI(缺少:JAVA_AWT_LIBRARY JAVA_JVM_LIBRARY JAVA_INCLUDE_PATH JAVA_INCLUDE_PATH2 JAVA_AWT_INCLUDE_PATH)”我已经安装了 jdk,为什么会这样?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-08-29
  • 1970-01-01
  • 2023-03-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-26
相关资源
最近更新 更多