linux 'pthread_create'未定义的引用,如何解决`_imp__pthread_create'的未定义引用
的命令行:
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'的未定义引用相关推荐
- java四中引用使用场景_Android中四种引用以及适用场景
从 JDK1.2 版本开始,把对象的引用分为四种级别,从而使程序能更加灵活的控制对象的生命周期.这四种级别由高到低依次为: 强引用 StrongReference 软引用 SoftReference ...
- 什么是未定义的引用/未解决的外部符号错误,如何解决?
本文翻译自:What is an undefined reference/unresolved external symbol error and how do I fix it? What are ...
- Matlab:解决错误:未定义的函数或变量
Matlab:解决错误:未定义的函数或变量 验证函数或变量名称的拼写 验证输入是否符合函数语法 确保函数名称与文件名匹配 确保安装了必要的工具箱并且版本正确 验证用于访问函数工具箱的路径 确认许可证有 ...
- MATLAB报错:未定义函数或变量解决办法
MATLAB报错:未定义函数或变量解决办法 edit(fullfile(matlabroot,'examples','nnet','main','此处放未定义函数')) 比如: edit(fullfi ...
- 解决jQuery不同版同时引用的冲突
今天研发的同事在开发一个新jQuery插件时,遇到一个揪心的问题.平台以前使用的 jQuery版本是1.2.6,偶,天啊!这是古代的版本啊! 由于很多功能基于老版本,不能删除啊,同志们都懂的! 于是我 ...
- iOS: NSTimer的循环引用(解决)
首先有两个概念写在最前: 内存泄漏:系统分配的内存空间在使用完毕之后没有进行及时的回收,称之为发生了内存泄漏. 内存溢出:指在申请内存的时候,没有足够的内存空间可以使用,包括栈溢出和堆溢出. 下面开始 ...
- linux下mysql的root密码忘记解决方
linux下mysql的root密码忘记解决方 1.首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库. 因为在重新设置MySQL的root密码的期间,MySQL数据库完全出于没 ...
- 修改系统路径 linux,Linux修改sudo的PATH路径的解决方法
众所周知,Linux系统sudo命令可以搜索PATH下的命令,但是有时候明明PATH下有某些命令,为什么sudo就是搜索不到.这可能是因为Linux自动对PATH进行重置,改变了sudo命令搜索的路径 ...
- Linux文件系统只读Read-only file system的解决方法
Linux文件系统只读Read-only file system的解决方法 参考文章: (1)Linux文件系统只读Read-only file system的解决方法 (2)https://www. ...
最新文章
- 思维dp ---- 复杂状态找中间状态作为dp状态 1552F - Telepanting
- C 一个非递减数组 下标从0到n 元素的取值范围为从0到n的整数 判断其中是否有重复元素
- Docker使用国内镜像仓库
- Opencv、OpenCV2.x、Opencv3.x个版本的进化,与VS各个版本的匹配问题
- java mapfile_基于文件的数据结构:关于MapFile
- 改变css名称,样式命名规则?css
- sublime快速打开终端terminal
- php数据字段多怎么存,一个保存时间的字段怎么存储数据
- sql查询时取日期部分内容(年月日时分秒)、增加时间
- python 调用matlab 数据类型问题
- 《文明之光》第六章读书笔记
- ubuntu12.04将tgz文件解压到指定目录
- Qt中setPlainText()和setText()有什么区别?
- 计算机丢失ac1st.dll怎么找回,处理CAD系统错误win10中丢失ac1st16.dll的恢复方法
- 崩溃,80后千万富翁名单
- java argox_HTML+CSS3再加一点点JS做的一个小时钟
- 再见, Python, 你好, Julia
- 电瓶车车钥匙怎么拆开换电池
- 马云谈阿里巴巴创业之道
- 评财新网县级公立医院改革方案有四大虚招
热门文章
- @PersistenceContext 注解在spring中代理
- 【u025】贝茜的晨练计划
- python编程midi键盘按键错乱_键盘按键错乱超简单解决教程
- TcaplusDB君 · 行业新闻汇编(11月04号)
- temp = (temp 0x55555555) + ((temp 0xaaaaaaaa) 1)
- Excel如何将单元格多数据拆分并
- 安装系统遇到MBR的硬盘,EFI系统只能安装GPT硬盘
- oracle pga的作用,ORACLE PGA 的调整
- Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: FUNCTION wm.concat does not exist
- 无法将win10配置在此计算机硬件上运行,WIN10系统备份 提示:无法将系统映像保存在计算机从中启动或安装WIDOWS的驱动器上...