mingw环境下,静态链接pthread库的方法

目的就是为了只发布一个.exe文件,不想带任何dll,于是带出了这个问题。

断断续续折腾了1个月,平均每天用30分钟,算起来也就一整天了。。。

还好,总算解决了。



静态连接到pthread,关键是3点:

1、编译的时候加上PTW32_STATIC_LIB这个宏。

2、连接的时候带上pthreadGC2、ws2_32两个库。libpthreadGC2.a可以复制到工程目录下,连接的时候加上-L"${workspace_loc:/pthread-test2}"

3、代码里,调用任何pthread函数之前,加上如下代码:
#ifdef PTW32_STATIC_LIB
pthread_win32_process_attach_np();
atexit((P_ATEXIT_PROC)pthread_win32_process_detach_np);
#endif

你可能感兴趣的:(C++,c,C#)