error LNK2001: 无法解析的外部符号 __imp__pthread_mutex_init
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了error LNK2001: 无法解析的外部符号 __imp__pthread_mutex_init相关的知识,希望对你有一定的参考价值。
我按照http://blog.csdn.net/qianchenglenger/article/details/16907821该方法移植了pthread库,但是编译时貌似仍然找不到库,求高手
参考技术A 你完成了这一步吗?---------------
我们也可以把lib文件夹下的内容拷贝到Visual Studio安装目录下默认的lib寻找路径中,即VC->lib中,例如我将lib文件夹下的x64与x86两个文件直接拷贝到
E:\Program Files\Microsoft Visual Studio 11.0\VC\lib
的下面。
---------------追问
搞了,windows的pthread库移植按照那个网页设置了都!!!
追答那你把 pthreadVC2.lib 加入项目的Linker中。
追问这,我当然加了的啊
追答x64 和x86是一致的?
参考技术B 这个需要将pthreadVC.lib这个库文件添加到你的工程当中再编译就可以了,出现这个错误就是找不到定义 参考技术C 把三个.lib文件添加到项目属性-链接器-输入-附加依赖库。祝你早日成功! 参考技术D 有可能是驱动程序和编译环境不匹配造成的error LNK2019: 无法解析的外部符号
1>main.obj : error LNK2019: 无法解析的外部符号 "double __cdecl GetRealFromKeyboard(void)" (?GetRealFromKeyboard@@YANXZ),该符号在函数 "double __cdecl GetReal(char *)" (?GetReal@@YANPAD@Z) 中被引用
1>main.obj : error LNK2019: 无法解析的外部符号 "char * __cdecl GetStringFromKeyboard(void)" (?GetStringFromKeyboard@@YAPADXZ),该符号在函数 "char * __cdecl GetString(char *)" (?GetString@@YAPADPAD@Z) 中被引用
但是有的问题不在这,我之前添加VISA库编译就遇到这个问题,按照别人说的添加库路径没有用,我是64位系统,使用VS2013,默认编译使用的是win32,怎么样都提示这个错误。后来在网上找到了个帖子,将win32更改为X64,编译成功无错误。
还有的不知道如何添加库的,直接使用全路径也能解决,#pragma comment(lib,“C:\\A\\B\\C\\XXXX.lib”)。 参考技术A 你用了zylib库函数了吧。这个错误说明你包含了zylib.h,但没有正确导入它的链接库。
要确认zylib的链接库放在正确的位置(一般放在VS/VC目录子目录,参考VC的选项目录设置),并被工程正确的导入(可以在工程设置中导入,也可以通过代码)本回答被提问者采纳 参考技术B 遇到这种问题一般都是由于缺少相应的库文件
右击项目,选择“属性”--“链接器”--“输入”--“附加依赖项”
根据错误中的提示在下图右边的红色框内添加相应的lib文件
再次编译运行即可避免此类错误产生
这是我们常见的错误,我们要学会解决
只有在不断地探索解决的时候才会有收获
这样对程序员才是一种欣喜,一种进步 参考技术C 你可以看看是不是工程里面没有添加那个头文件,一般文件还是在哪个文件夹下,但是没有添加进工程,我有两次就是那样的,你可以试试找到CDynSplitterWnd头文件然后添加进工程,或者包含试试。我也不清楚你的具体情况,所以只是猜测而已。 参考技术D GetStringFromKeyboard这个函数的执行体未被找到。请检查头文件是否包含正确。
static变量的声明错误,也会导致LNK2019,你可以在MSDN里输入LNK2019查看更详细的信息。
以上是关于error LNK2001: 无法解析的外部符号 __imp__pthread_mutex_init的主要内容,如果未能解决你的问题,请参考以下文章
error LNK2019: 无法解析的外部符号 WinMain,error LNK2001: 无法解析的外部符号 WinMain