【问题标题】:Building Portaudio in C on Sublime Text 3在 Sublime Text 3 上用 C 语言构建 Portaudio
【发布时间】:2016-07-16 07:52:54
【问题描述】:

我正在尝试使用此页面中的库从 portaudio 构建示例代码。 https://github.com/adfernandes/precompiled-portaudio-windows

我的 sublime-build 文件如下:

{
    "cmd" : ["gcc", "$file_name", "-L/Desktop/portaudio-r1891-build/lib/x64/ReleaseMinDependency", "-llibportaudio_x64", "-o", "${file_base_name}.exe", "&&", "${file_base_name}.exe"],
    "selector" : "source.c",
    "shell" : true,
    "working_dir" : "$file_path"
}

我收到错误“c:/mingw/bin/../lib/gcc/mingw32/4.9.3/../../../../mingw32/bin/ld.exe: 找不到-llibportaudio_x64

我是新来的文件,所以不确定什么是不正确的。如果没有添加 portaudio,make 文件会正确构建 Hello World 测试代码。 portaudio 的东西不在标准路径中。我在 portaudio 示例代码中有“#include”portaudio.h”,在与示例代码相同的文件夹中有 .h 文件。我的桌面上有库的文件夹,并试图将它的路径链接到该文件夹-L 命令。我见过一些人讨论要拥有一个 .a 文件,但我似乎没有从库中下载一个文件。

【问题讨论】:

  • "gcc" 之后添加"-m64" 可以解决问题吗?
  • 我怀疑这种语法可能会导致问题-llibportaudio_x64。请改用-lportaudio_x64
  • @a3f 这样做给出了错误“paex_sine.c:1:0: sorry, unimplemented: 64-bit mode not compiled in /**@file paex_sine.c”
  • @user3078414 我在没有“lib”的情况下尝试过,但收到了同样的错误,但使用了“-lportaudio_x64”

标签: c makefile build portaudio


【解决方案1】:

您正在将 32 位程序与 64 位版本的 DLL 链接。

要么将链接路径 (-L) 更改为 32 位 DLL 的位置,要么使用 64 位编译器。

起初我怀疑是缺少 lib 前缀,但 MinGW 文档说 lib 在 Windows 上可以省略。

【讨论】:

    猜你喜欢
    • 2013-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多