g ++无法链接OpenAL库

Bri*_*ian 3 c++ linux g++ openal

我无法编译以下代码

#include <AL/al.h>
#include <AL/alc.h>

#include <iostream>


int checkEnumerationSupport() {

    ALboolean enumeration;

    enumeration = alcIsExtensionPresent(NULL, "ALC_ENUMERATION_EXT");

    if (enumeration == AL_FALSE) {
        // enumeration not supported
        std::cout << "enumerating devices NOT supported\n";
    } else {
        // enumeration supported
        std::cout << "enumerating devices supported\n";
    };

    return 0;

}


int main() {

    checkEnumerationSupport();

}
Run Code Online (Sandbox Code Playgroud)

使用以下命令.

g++ test.cpp -o test
Run Code Online (Sandbox Code Playgroud)

我收到以下消息:

/tmp/ccEN7YAp.o: In function `checkEnumerationSupport()':
test.cpp:(.text+0x13): undefined reference to `alcIsExtensionPresent'
collect2: error: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)

实现库没有正确链接,我尝试将g ++行更改为

g++ -L/usr/lib/ test.cpp -o test -lal -lalc
Run Code Online (Sandbox Code Playgroud)

给我以下消息:

/usr/bin/ld: cannot find -lal
/usr/bin/ld: cannot find -lalc
collect2: error: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)

我在Linux Mint 17.2Ubuntu 14.04上测试过它.

有谁知道如何正确编译代码?

tim*_*kes 5

我们在评论中得出的答案是让Brian使用-lopenal而不是-lal和来链接到openal库-lalc