我过去常常用Mac来编写一些C程序,但现在它不能工作了。
我不得不暂时使用一台旧的Windows笔记本电脑。
我安装了CodeBlocks并测试了一个使用Pthreads的简单程序。不幸的是它不工作。
pthread_create(&thrd1, NULL, thread_execute, (void *)t);
它一直提示undefined reference to _imp__pthread_create。
_imp__pthread_create
我该如何修复它?
如果您正在使用MinGW,您可以使用MinGW安装管理器安装需要执行pthreads和openmp相关任务的软件包。以下是操作步骤:
1. 打开安装管理器,转到所有软件包,并选择名为mingw32-pthreads-w32的软件包,然后选择安装。
2. 然后转到“安装”->“应用更改”以安装新软件包。然后,您可以在C或C++程序中使用pthread.h和omp.h而不会遇到任何问题。
在Windows上运行Pthreads的问题是由于缺少.pdb文件导致的。您需要在链接器设置中包含.lib文件来解决这个问题。首先,您需要安装pthread-w32库。然后,在CodeBlocks中,您可以在链接器设置中添加-lpthreadGC2或-lpthreadGC来链接Pthreads库。如果您不熟悉在Windows上编写代码,可以使用CodeBlocks的图形用户界面来进行链接器设置。
要在Windows上运行Pthreads,需要获取pthreads-win32,因为Pthreads是Unix组件而不是Windows组件。
用户名或电子邮箱地址
密码