导航:首页 > 源码编译 > 多线程应用程序设计编译失败

多线程应用程序设计编译失败

发布时间:2022-05-06 05:08:20

Ⅰ 关于linux下多线程编程。我在usr/include下找到了pthread.h头文件。但是在编译的时候报错。错误提醒如下

不需要找到pthread.h头文件
在编译的时候要链上pthread库,即加上-lpthread参数.

Ⅱ c++11多线程 写了#include<thread> 但是编译却报错没加

#include <string.h>
本身不应发生错误,因为它只是嵌入一个string.h文件。C的写法,C++可用。
有的编译器是 <strings.h>
如果编译时告诉你缺了什么东西,补入就可以了。
using namespace std; 是 #include <stdio.h> #include <stdlib.h> 等 std* (标准) 头文件。
#include <string> C++ 的写法

Ⅲ make 多线程编译会出错么

程序没有问题,看看MAKEFILE30行是不是有什么错误,或者换个工程配置,这个应该和工程的配置有关,程序这么简单,一点问题没有。

Ⅳ 我使用vs2005编译MFC程序,在多线程中创建CSocket类,每当使用Create方法时出错

其实动态使用在其他计算机上也是可以到,应为win2k以上mfc动态库windows目录下也是有的。不是必须要静态库。
但是你编译的必须是release版,应为一般系统不带debug版本的mfc库。除非装了vc.
2.出问题,请把错误信息给出,帮你分析,比如编译错误,链接错误

Ⅳ C++编写的多线程通信程序,代码编译没有错误(vc),可是服务端与客户端就是连接不上,望高手解答

我调试了你的代码,你的代码是没有问题的,虽然不能使用,但是正常的Socket通讯流程是可以进行的。而且我调试的时候服务器和客户端代码都返回通讯成功。accept()返回的socket为124,connect返回0,说明通讯是正常的。你需要从操作系统环境找原因了。

调试截图如下:

服务器端accept返回socket为124

Ⅵ 用VC编程出现好多错误,说是执行CL.EXE时出错

参考一下vc的常见错误吧。
最近在看《深入浅出MFC》,书中候先生所有的程序都是利用makefile进行编译与连接的,我想直接利用VC++6.0进行编译与连接,下面的是书中第六章hello程序的连接时的错误,请各位帮忙看看!
--------------------Configuration: HELLO - Win32 Debug--------------------
Linking...
nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __endthreadex
nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __beginthreadex
Debug/HELLO.exe : fatal error LNK1120: 2 unresolved externals
Error executing link.exe.
Creating browse info file...

HELLO.exe - 3 error(s), 0 warning(s)

程序设计到多线程,VC++6.0默认设置可作以下修改:

project->settings->C/C++->Category中选Code Generation->Use Run-time Library选Debug MultiThreaded或MultiThreaded

在创建MFC项目时, 不使用MFC AppWizard向导, 如果没有设置好项目参数, 就会在编译时产生很多连接错误, 如error LNK2001错误, 典型的错误提示有:
libcmtd.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
LIBCD.lib(wincrt0.obj) : error LNK2001: unresolved external symbol _WinMain@16
msvcrtd.lib(crtexew.obj) : error LNK2001: unresolved external symbol _WinMain@16
nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __beginthreadex
nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __endthreadex
下面介绍解决的方法:
1. Windows子系统设置错误, 提示:
libcmtd.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Windows项目要使用Windows子系统, 而不是Console, 可以这样设置:
[Project] --> [Settings] --> 选择"Link"属性页,
在Project Options中将/subsystem:console改成/subsystem:windows
2. Console子系统设置错误, 提示:
LIBCD.lib(wincrt0.obj) : error LNK2001: unresolved external symbol _WinMain@16
控制台项目要使用Console子系统, 而不是Windows, 设置:
[Project] --> [Settings] --> 选择"Link"属性页,
在Project Options中将/subsystem:windows改成/subsystem:console
3. 程序入口设置错误, 提示:
msvcrtd.lib(crtexew.obj) : error LNK2001: unresolved external symbol _WinMain@16
通常, MFC项目的程序入口函数是WinMain, 如果编译项目的Unicode版本, 程序入口必须改为wWinMainCRTStartup, 所以需要重新设置程序入口:
[Project] --> [Settings] --> 选择"C/C++"属性页,
在Category中选择Output,
再在Entry-point symbol中填入wWinMainCRTStartup, 即可
4. 线程运行时库设置错误, 提示:
nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __beginthreadex
nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __endthreadex
这是因为MFC要使用多线程时库, 需要更改设置:
[Project] --> [Settings] --> 选择"C/C++"属性页,
在Category中选择Code Generation,
再在Use run-time library中选择Debug Multithreaded或者multithreaded
其中,
Single-Threaded 单线程静态链接库(release版本)
Multithreaded 多线程静态链接库(release版本)
multithreaded DLL 多线程动态链接库(release版本)
Debug Single-Threaded 单线程静态链接库(debug版本)
Debug Multithreaded 多线程静态链接库(debug版本)
Debug Multithreaded DLL 多线程动态链接库(debug版本)
单线程: 不需要多线程调用时, 多用在DOS环境下
多线程: 可以并发运行
静态库: 直接将库与程序Link, 可以脱离MFC库运行
动态库: 需要相应的DLL动态库, 程序才能运行
release版本: 正式发布时使用
debug版本: 调试阶段使用

Ⅶ Linux下mpi多线程编程的编译问题

看设置了,我的反正可以运行。\r\n不过 X 里面运行字符界面的程序有个问题就是 X 一般不会显示终端窗口,所以除非你的程序是窗口程序,不然什么显示都没有就运行完成退出了。 \r\n--------------\r\n有的 linux 有一个\\“在终端中运行”的项目,...

Ⅷ C++多线程mutex对象作为类的成员变量为何编译报错attempted to reference a deleted function

是你构造TicketShop对象的地方,可能是你的主函数里,你没贴出来,可能是写了类似:

TicketShops1;
TicketShops2=s1;

这样的代码,而你的TicketShop类使用默认的拷贝构造函数,导致上面代码第二句构造s2时会调用mutex的拷贝构造函数,而mutex的拷贝构造函数是=delete的,也就是不允许拷贝构造,所以编译报错

当你改成全局的mutex声明时,拷贝构造TicketShop对象不会引发mutex对象的拷贝构造,所以就没问题。

Ⅸ 一个简单的多线程问题,编译通过了函数却不执行。请问是什么问题

定时器也可以实现。 异步就是在调用后,不用等待结果,就返回; 线程虽然可以做到,定时器也可以,只不过相对于线程来说,定时器不是以开辟线程来进行接下来的异步操作,而是以消息的形式,有系统定时调用来实现异步操作。

java多线程问题,编译出现错误,提示:找不到合适的构造器

Thread的构造方法接收一个Runnable接口类型的参数,你传给他的不是Runnable接口的实现类对象,自然报错了

阅读全文

与多线程应用程序设计编译失败相关的资料

热点内容
喷油螺杆制冷压缩机 浏览:579
python员工信息登记表 浏览:377
高中美术pdf 浏览:161
java实现排列 浏览:513
javavector的用法 浏览:982
osi实现加密的三层 浏览:233
大众宝来原厂中控如何安装app 浏览:916
linux内核根文件系统 浏览:243
3d的命令面板不见了 浏览:526
武汉理工大学服务器ip地址 浏览:149
亚马逊云服务器登录 浏览:525
安卓手机如何进行文件处理 浏览:71
mysql执行系统命令 浏览:930
php支持curlhttps 浏览:143
新预算法责任 浏览:444
服务器如何处理5万人同时在线 浏览:251
哈夫曼编码数据压缩 浏览:426
锁定服务器是什么意思 浏览:385
场景检测算法 浏览:617
解压手机软件触屏 浏览:350