编译 pjsip / pjsua 示例时出现大量未定义的引用

编译 pjsip / pjsua 示例时出现大量未定义的引用

在我已经安装的 ubuntu 15.10 VM 上韋斯特这样我就可以创建一个非常小的软电话来测试虚拟 voip 网络。

该包中包含一些示例代码pjproject-2.4.5/pjsip-apps/src/samples

当尝试使用 g++ 或 gcc 编译代码时,我看到满屏的内容undefined reference(运行后出现下面的示例g++ pjsua2_demo.cpp -o pjsua2_demo)。

也许是路径问题?

@witsend 谢谢。

/tmp/ccsTUqc5.o: In function \`MyCall::onCallState(pj::OnCallStateParam&)':
pjsua2_demo.cpp:(.text+0x3e): undefined reference to \`pj::Call::getInfo() const'
/tmp/ccsTUqc5.o: In function \`mainProg1(pj::Endpoint&)':
pjsua2_demo.cpp:(.text+0x19c): undefined reference to \`pj::Endpoint::libInit(pj::EpConfig const&)'
pjsua2_demo.cpp:(.text+0x1ab): undefined reference to \`pj::TransportConfig::TransportConfig()'
pjsua2_demo.cpp:(.text+0x1d0): undefined reference to \`pj::Endpoint::transportCreate(pjsip_transport_type_e, pj::TransportConfig const&)'
pjsua2_demo.cpp:(.text+0x1df): undefined reference to \`pj::Endpoint::libStart()'
pjsua2_demo.cpp:(.text+0x20a): undefined reference to \`pj::AccountConfig::AccountConfig()'

...

答案1

您的 g++ 命令行实际上并没有链接您刚刚安装的任何库:尝试

g++ pjsua2_demo.cpp -o pjsua2_demo `pkg-config --cflags --libs libpjproject`

使用 PJSIP 和 GNU 工具构建应用程序

答案2

非常感谢 pilot6 在我的例子中,我按照以下“g++ op.cpp pkg-config --cflags --libs /usr/local/lib/pkgconfig/libpjproject.pc”解决它

相关内容