`
Sylven
  • 浏览: 63853 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
社区版块
存档分类
最新评论

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
分享到:
评论

相关推荐

    pthread GNU的一个线程库

    在描述中提到,在Windows环境下,如果使用MinGW GCC(一个开源的GNU Compiler Collection移植版,用于在Windows上构建C/C++程序)进行编译,我们需要确保包含了pthread库的相关文件。具体操作是将当前文件夹添加到...

    MinGW 64位 gcc 4.9.2

    - **链接库**:MinGW64支持静态和动态链接,允许应用程序使用系统库或自定义库。 - **调试**:配合GDB(GNU Debugger),可以进行源代码级别的调试。 - **使用Makefile**:通过编写Makefile,可以自动化编译过程,...

    windows VS2010编译最新pthreads-w32-2-9-1静态库

    在Windows环境下,开发多线程程序时,通常我们会选择使用Microsoft Visual Studio(VS)作为集成开发环境。然而,对于跨平台的项目或者依赖POSIX线程API(pthread)的库,我们不能直接使用VS自带的多线程支持,因为...

    mingw64.zip

    6. **头文件和库**:MingW64包含了各种头文件和静态/动态库,使得开发者可以直接在Windows上使用POSIX兼容的API,比如、等,以及math.h、pthread.h等其他系统头文件。 安装和配置MingW64后,开发者可以在命令行环境...

    windows posix 线程库

    这个版本的pthreads库包含了头文件、动态链接库(dll)和静态链接库(lib),供开发和编译使用。 在Windows上使用pthreads库,开发者需要包含对应的头文件,并链接相应的库。例如,要创建一个新的线程,可以使用`...

    mingw64.7zx86_64-8.1.0-release-posix-seh-rt_v6-rev0

    综上所述,这个压缩包提供了完整的MingW64 GCC 8.1.0开发环境,包含了编译、链接所需的工具,以及必要的库文件和配置信息,使得开发者能够在Windows系统下进行C/C++程序的开发,享受与Linux类似的工作流程。...

    pthreads-w32-2-8-0-release

    1. 对于Visual Studio,需要将pthreads-w32的包含目录添加到“包含目录”设置中,库目录添加到“库目录”设置,并将libpthreadGC2.lib(静态链接)或libpthreadGC2.dll(动态链接)添加到“附加依赖项”。...

    GCC编译器for c++

    GCC通过`-l`选项链接库,如`-lpthread`链接pthread库。库文件通常位于系统路径下的lib目录,而头文件位于include目录。 6. **静态库与动态库**:GCC可以选择生成静态库(`-shared`)或动态库(`-static`)。静态库会将...

    gcc-4.3.2-tdm-1-core.zip

    1. "pthreads-win32-README" - 这可能是一个关于Windows上的POSIX线程库(pthread)的说明文档,因为MinGW支持POSIX标准,允许在Windows上使用线程编程。 2. "COPYING-gcc-tdm.txt", "COPYING.lib-gcc-tdm.txt" - ...

    GCC使用手册.rar

    在Windows环境下,可以下载MinGW或者MSYS2来获取GCC编译环境。 2. **编译过程**: - 预处理:预处理器cpp处理源文件中的宏定义、条件编译等,生成.i扩展名的文件。 - 编译:编译器gcc将预处理后的文件编译成汇编...

    ASan for Windows.

    - **多种C运行时库**:在Windows环境中,存在多种C运行时库实现,如/MT(静态链接)、/MTd(静态链接,调试)、/MD(DLL链接)和/MDd(DLL链接,调试)。 - **不同处理方式**:每种C运行时库需要不同的处理方法,...

    PixTagger-开源

    5. **libgcc_s_dw2-1.dll 和 mingwm10.dll**:这些都是与GCC(GNU Compiler Collection)和MinGW(Minimalist GNU for Windows)相关的动态链接库,它们为在Windows环境下编译和运行C++代码提供支持。 6. **pixgui....

Global site tag (gtag.js) - Google Analytics