C语言 安装 portmidi 时,此链接错误意味着什么?



在我为 portmidi 配置 cmake 文件并继续使用 make 制作必要的文件后,我在编译过程中遇到了此错误:

- Build files have been written to: /home/mycomputername
/Desktop/portmedia/portmidi
[  2%] Linking C shared library /Release/libpmjni.so
/usr/bin/x86_64-linux-gnu-ld: cannot open output file /Release/libpmjni.so: No such file or directory
collect2: error: ld returned 1 exit status
pm_common/CMakeFiles/pmjni.dir/build.make:251: recipe for target '/Release/libpmjni.so' failed
make[2]: *** [/Release/libpmjni.so] Error 1
CMakeFiles/Makefile2:87: recipe for target 'pm_common/CMakeFiles/pmjni.dir/all' failed
make[1]: *** [pm_common/CMakeFiles/pmjni.dir/all] Error 2
Makefile:129: recipe for target 'all' failed
make: *** [all] Error 2

我很困惑。我试图在 ccmake 的 cxx-flags 部分插入标志 -fpic,并将默认的 java 安装路径更改为无济于事。坦率地说,我认为这与执行顺序的混乱有关,但我不知道在哪里。

任何帮助将不胜感激。

显然,在 ccmake 配置中 CMake 指向的目录中有一些配置要做。我刚刚重新下载了文件并将其解压缩到新制作的portmedia目录中。另外,为了确保您在制作pm_defaults时不会遇到任何打嗝,请参阅内特的答案。引用:

显然,ccmake生成的Makefile之一被破坏了。我能够通过运行来解决问题

sed -i 's/pm_java/pm_java/pm_java/' build.make

pm_java/CMakeFiles/pmdefaults_target.dir/ 子目录中 运行 ccmake . 的项目(不过在 Ubuntu 上(。(sed 命令将出现的所有pm_java/pm_java替换为 pm_java .(

一切都编译了,我甚至可以pmdefaultsRelease目录

使用
java -Djava.library.path=. -jar pmdefaults.jar

相关内容

最新更新