Linker 尝试在Mingw中构建一个PortMidi示例

Linker 尝试在Mingw中构建一个PortMidi示例,linker,mingw,midi,.a,.lib,Linker,Mingw,Midi,.a,.lib,我试图用Mingw构建一个PortMidi示例,但是它依赖于两个库PortMidi和winmm,我重新编译了PortMidi以获得一个PortMidi.a,但是我得到了缺少代码的错误 可以将winmm链接到mingw,我必须使用“.a”或“.lib”库? Im使用此命令编译源代码: g++ -o prg latency.c -IHeaders -LLib -lportmidi -lwinmm 谢谢您的帮助。您不需要winmm.a来构建latency.c 您需要 libpmjni.dll.a,

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

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

Im使用此命令编译源代码:

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

谢谢您的帮助。

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

您需要
libpmjni.dll.a
libportmidi.dll.a

libportmidi_.a

用CMake构建portmidi需要5分钟

  • portmidi源代码:c:/src/portmidi/
  • 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的情况下工作 再次单击“配置”

看起来不错-->单击“生成”

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

打开windows命令类型make

它需要很短的时间来构建

它们是:
.a和.dll

  • 将所有
    .a
    复制到
    c:\minGW\lib
  • 将所有
    .dll
    复制到
    c:\minGW\bin
  • C:\minGW\src\portmidi217\pm\u common
    C:\minGW\src\portmidi217\porttime

    将all.h添加到
    latency.c
    所在的文件夹中

<> P> >你可以<代码>延迟。C++ <代码>编译,如上所述,你只需要调整路径。

谢谢,但是LIMPPMJNI.DLL。A使用java,我试图在C++中完全构建它,这就是为什么我需要链接WiMM。我发现winmm在mingw的lib文件中以libwinmm.a的形式存在,但我尝试将其与-llibwinmm命令链接,但没有成功。请帮助我。我完全用C++构建WINMM,它自动链接到<代码> C:\Windows \Stase3\WINMM .DLL<代码>,它是系统的DLL!你是否使用cmake构建了portmidi,以在5分钟内创建makefile,并在1分钟内使用gcc
latency.c
进行编译?这非常简单。你能帮我使用命令或cmake文件吗?我在cmakeWow方面有问题!!非常感谢你回答我的问题,我希望有一天我能帮助你。。。。。真的很感谢让我知道你是否需要什么不现在我得到了这个“找不到JNI(缺少:JAVA_AWT_库JAVA_JVM_库JAVA_INCLUDE_路径JAVA_INCLUDE_路径2 JAVA_AWT_INCLUDE_路径)”我已经安装了jdk为什么?我使用这个命令编译示例“gcc-o prg latency.c-IHeaders-lportmidi-lwinmm”并将portmidi复制到mingw中的lib文件夹