的命令行:

gcc -I /usr/local/include -L /usr/local/lib/libpthread.dll.a trylpthread.c

没有意义。

-L

您发布的程序都没有意义。该行:

#ifndef pthread_create

return ((int*)(&pthread_create))[argc];

#else

(void)argc;

return 0;

#endif

说: -

如果我有不定义的宏pthread_create一个预处理然后编译:

return ((int*)(&pthread_create))[argc];

否则编译:

(void)argc;

return 0;

那么,如果你已经定义了一个预处理器宏pthread_create,例如

#define pthread_create whatever

,那么你会编译代码是:

(void)argc;

return 0;

而且因为你确实没有定义任何这样的宏,您编译的代码是:

return ((int*)(&pthread_create))[argc];

从而未能在链接,如你所见。如果该代码是这么定义的pthread_create编译, 这将是:

return ((int*)(&whatever))[argc];

重写你的程序为:

#include

#include

int main(int argc, char** argv)

{

(void)argv;

printf("######## start \n");

return ((int*)(&pthread_create))[argc];

}

编译:

gcc -Wall -I /usr/local/include -o trylpthread.o -c trylpthread.c

与链接:

gcc -o trylpthread.exe trylpthread.o /usr/local/lib/libpthread.dll.a

请记住,当你的程序编译和链接,适当pthreadGC??.dll 必须在运行在的DLL程序加载器搜索的地方之一找到。

更好的是,卸载您的MinGW并且您的pthreads-w32-2.8.0-3-mingw32-dev和 会安装更新的GCC Windows端口,例如, TDM-GCC(最简单)或mingw-w64。如果您的Windows系统 是32位,请选择32位版本。这些工具链内置了pthread支持,正如GCC标准所做的那样。

编译:

gcc -Wall -o trylpthread.o -c trylpthread.c

链接有:

gcc -o trylpthread.exe trylpthread.o -pthread

(不-lpthread)

linux 'pthread_create'未定义的引用,如何解决`_imp__pthread_create'的未定义引用相关推荐

  1. java四中引用使用场景_Android中四种引用以及适用场景

    从 JDK1.2 版本开始,把对象的引用分为四种级别,从而使程序能更加灵活的控制对象的生命周期.这四种级别由高到低依次为: 强引用 StrongReference 软引用 SoftReference ...

  2. 什么是未定义的引用/未解决的外部符号错误,如何解决?

    本文翻译自:What is an undefined reference/unresolved external symbol error and how do I fix it? What are ...

  3. Matlab:解决错误:未定义的函数或变量

    Matlab:解决错误:未定义的函数或变量 验证函数或变量名称的拼写 验证输入是否符合函数语法 确保函数名称与文件名匹配 确保安装了必要的工具箱并且版本正确 验证用于访问函数工具箱的路径 确认许可证有 ...

  4. MATLAB报错:未定义函数或变量解决办法

    MATLAB报错:未定义函数或变量解决办法 edit(fullfile(matlabroot,'examples','nnet','main','此处放未定义函数')) 比如: edit(fullfi ...

  5. 解决jQuery不同版同时引用的冲突

    今天研发的同事在开发一个新jQuery插件时,遇到一个揪心的问题.平台以前使用的 jQuery版本是1.2.6,偶,天啊!这是古代的版本啊! 由于很多功能基于老版本,不能删除啊,同志们都懂的! 于是我 ...

  6. iOS: NSTimer的循环引用(解决)

    首先有两个概念写在最前: 内存泄漏:系统分配的内存空间在使用完毕之后没有进行及时的回收,称之为发生了内存泄漏. 内存溢出:指在申请内存的时候,没有足够的内存空间可以使用,包括栈溢出和堆溢出. 下面开始 ...

  7. linux下mysql的root密码忘记解决方

    linux下mysql的root密码忘记解决方 1.首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库. 因为在重新设置MySQL的root密码的期间,MySQL数据库完全出于没 ...

  8. 修改系统路径 linux,Linux修改sudo的PATH路径的解决方法

    众所周知,Linux系统sudo命令可以搜索PATH下的命令,但是有时候明明PATH下有某些命令,为什么sudo就是搜索不到.这可能是因为Linux自动对PATH进行重置,改变了sudo命令搜索的路径 ...

  9. Linux文件系统只读Read-only file system的解决方法

    Linux文件系统只读Read-only file system的解决方法 参考文章: (1)Linux文件系统只读Read-only file system的解决方法 (2)https://www. ...

最新文章

  1. 思维dp ---- 复杂状态找中间状态作为dp状态 1552F - Telepanting
  2. C 一个非递减数组 下标从0到n 元素的取值范围为从0到n的整数 判断其中是否有重复元素
  3. Docker使用国内镜像仓库
  4. Opencv、OpenCV2.x、Opencv3.x个版本的进化,与VS各个版本的匹配问题
  5. java mapfile_基于文件的数据结构:关于MapFile
  6. 改变css名称,样式命名规则?css
  7. sublime快速打开终端terminal
  8. php数据字段多怎么存,一个保存时间的字段怎么存储数据
  9. sql查询时取日期部分内容(年月日时分秒)、增加时间
  10. python 调用matlab 数据类型问题
  11. 《文明之光》第六章读书笔记
  12. ubuntu12.04将tgz文件解压到指定目录
  13. Qt中setPlainText()和setText()有什么区别?
  14. 计算机丢失ac1st.dll怎么找回,处理CAD系统错误win10中丢失ac1st16.dll的恢复方法
  15. 崩溃,80后千万富翁名单
  16. java argox_HTML+CSS3再加一点点JS做的一个小时钟
  17. 再见, Python, 你好, Julia
  18. 电瓶车车钥匙怎么拆开换电池
  19. 马云谈阿里巴巴创业之道
  20. 评财新网县级公立医院改革方案有四大虚招

热门文章

  1. @PersistenceContext 注解在spring中代理
  2. 【u025】贝茜的晨练计划
  3. python编程midi键盘按键错乱_键盘按键错乱超简单解决教程
  4. TcaplusDB君 · 行业新闻汇编(11月04号)
  5. temp = (temp 0x55555555) + ((temp 0xaaaaaaaa) 1)
  6. Excel如何将单元格多数据拆分并
  7. 安装系统遇到MBR的硬盘,EFI系统只能安装GPT硬盘
  8. oracle pga的作用,ORACLE PGA 的调整
  9. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: FUNCTION wm.concat does not exist
  10. 无法将win10配置在此计算机硬件上运行,WIN10系统备份 提示:无法将系统映像保存在计算机从中启动或安装WIDOWS的驱动器上...