#include <lib.h>给出符号未找到,为什么?</lib.h>

时间:2009-03-20 16:54:08

标签: c++ xcode

我有这段代码:

#include <iostream>
#include <mp4.h>

int main (int argc, char * const argv[]) {
    // insert code here...
    std::cout << "Hello, World!\n";

    MP4Read("filename", MP4_DETAILS_ALL );

    return 0;
}

我已经将-I / opt / local / include和-L / opt / local / lib添加到路径中(通过macports安装后mp4库所在的位置),但我得到的是:

  

未定义的符号:“_ MP4Read”,   引自:         _main in main.o ld:symbol(s)not found

即使XCode找到它并正确地自动填充......

3 个答案:

答案 0 :(得分:8)

您需要最有可能链接库,即添加-lmp4或类似于您的链接命令。

答案 1 :(得分:3)

您只指定了路径。你需要在mp4库中链接。如下所示:

g++ -I /.../ -L /.../ -lmp4 -o out main.cpp

答案 2 :(得分:1)

-L标志告诉编译器在哪里查看,-l标志告诉它要查找的内容。