首页 新闻 会员 周边 捐助

VS远程连接Linux开发

0
[待解决问题]

使用VS2022社区版远程连接LInux(CentOS7)操作时,已经加入头文件#include<pthread.h>的情况下,VS中使用pthread_rwlock_t 出现了未定义标识符的错误

我很菜别看我的主页 我很菜别看我 | 菜鸟二级 | 园豆:202
提问于:2023-04-18 16:39
< >
分享
所有回答(1)
0

这个问题可能是由于在Linux系统中需要安装pthread库,而在VS中没有配置正确的头文件和库文件路径所导致的。

你可以按照以下步骤进行配置:

确认你的Linux系统已经安装了pthread库。你可以在Linux系统中打开终端,输入以下命令来检查:

perl

rpm -qa | grep pthread
如果输出了类似"pthread-xxx"的信息,表示已经安装了pthread库。

在VS中打开Linux项目的属性页,进入"C/C++ -> 常规"选项卡,将"附加包含目录"中添加pthread库头文件的路径,例如"/usr/include"。

在属性页中进入"连接器 -> 常规"选项卡,将"附加库目录"中添加pthread库文件的路径,例如"/usr/lib64"。然后在"附加依赖项"中添加"pthread"库的名称。

保存更改后,重新编译项目,看看是否能够解决问题。

如果问题仍然存在,你可以尝试在Linux系统中手动编译并运行代码,以确保pthread库能够正确链接。如果在Linux系统中也出现了类似的问题,那么可能是代码中的其他问题导致的。

Technologyforgood | 园豆:7535 (大侠五级) | 2023-04-18 22:18

很感谢您的帮助,现在问题已经得到了解决。
此前具体情况是VS上编程时不能正常使用Linux中的头文件。我自己搜索博客,和您上述一样,此问题得到了解决。之后又遇到了能使用头文件,但是不能编译通过,是因为在Linux上没有调用pthread库,也是和您上述的一样得到了解决,具体解决方式是,gcc -pthread [文件名],在VS上则是 点击项目属性->链接器->所有命令->库依赖项->(添加pthread)。最后是我所提到的这个问题(能正常使用#include<pthread.h>中的其他的文件,唯独thread_rwlock_t等),使用gcc编译不通过,显示未定义标识符,经过多次尝试后发现使用g++能正常运行。
非常感谢您的解答,祝您天天开心

支持(0) 反对(0) 我很菜别看我 | 园豆:202 (菜鸟二级) | 2023-04-19 17:23
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册