您的位置:首页 > Web前端

undefined reference无法解析的外部符号

2015-09-30 13:40 323 查看
作为一个菜鸟+小白,我已经无数次被dll惹出的那些事儿打败。“undefined reference 无法解析的外部符号”是最常见的问题。

1 库文件缺失

用设备提供商的SDK进行开发的时候,SDK包里面一堆文件,有些很明显需要引用,有些却是隐含调用的;应该确保它们都包含在工程中。

dll缺失有时编译能通过,但运行时突然崩溃,有时会出现提示信息“During startup program exited with code 0xc0000139.” 错误代码对应的错误是Dll
entry point not found;或者提示“无法定位程序输入点”。

2 库文件版本不匹配

常见于采用二次封装的库时。
例如你引用的库Miss.dll是在库Prince.dll的版本1.2.34.0基础上开发。那么确保你工程中的Prince.dll的版本号也是1.2.34.0。

3 库文件编译环境与当前环境不一致

例如Miss.dll是由MSVC编译生成的c++库,程序则用MinGW编译;又比如Miss.dll是由32位MSVC编译生成,程序用的是64位MSVC编译环境。

可以参考这篇问答http://stackoverflow.com/questions/15396897/using-a-64bit-dll-in-a-32bit-application
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: