Eclipse内容辅助无法识别std :: thread,但可以正确编译

 文静的疯子19__97 发布于 2023-01-02 10:55

我正在运行Ubuntu 14.04.

我重现的步骤:

    创建一个新的C++项目(New - > C++ - > Hello World项目),我调用了它 TestStdThread

    将主文件中的代码更改为:

    #include 
    #include 
    
    int main() {
        std::cout << "You have " << std::thread::hardware_concurrency() << " cores." << std::endl;
        return 0;
    }
    

    转到TestStdThread - >属性 - > C/C++构建 - >设置 - > GCC C++编译器,并将命令选项从更改g++g++ -std=c++11

    转到TestStdThread - >属性- > C/C++编译- >设置- > GCC C++编译器- >包括添加/usr/include包含路径(-I) ,并添加pthread.h包含文件(-include)

    转到TestStdThread - > Properties - > C/C++ Build - > Settings - > GCC C++ Linker - > Libraries,添加pthreadLibraries(-l),并添加/usr/lib/x86_64-linux-gnuLibrary搜索路径(-L)

    TestStdThread - > Build Project

    点击"运行"

没有构建错误.Eclipse告诉我,该项目有错误并且询问我是否想要运行它,当我说是的时,输出是正确的:You have 4 cores..但是,Eclipse仍然std::thread::hardware_concurrency用红色突出显示该部分,并将其报告(在悬停时),因为"函数'hardware_concurrency'无法解析",并且std::thread在键入std:: Ctrl+ 时没有显示Space.

这是我用来查找pthread文件所在位置的bash命令/usr(/usr/share省略,因为它包含了许多我不想要的doc文件):

llama@llama-Satellite-E55-A:/usr$ find -name "*pthread*" -not -path "./share/*"
./include/pthread.h
./include/x86_64-linux-gnu/bits/pthreadtypes.h
./lib/x86_64-linux-gnu/pkgconfig/pthread-stubs.pc
./lib/x86_64-linux-gnu/libpthread.so
./lib/x86_64-linux-gnu/libpthread_nonshared.a
./lib/x86_64-linux-gnu/libgpgme-pthread.so.11.11.0
./lib/x86_64-linux-gnu/libgpgme-pthread.so.11
./lib/x86_64-linux-gnu/libpthread.a
./lib/perl/5.18.2/bits/pthreadtypes.ph
./lib/debug/lib/x86_64-linux-gnu/libpthread-2.19.so

codestation.. 10

转到Project- > Properties- > C/C++ General- > Preprocessor include paths, etc- > Providers- > CDT GCC Builtin Compiler Settings并附-std=c++11加到编译器规范.

您也可以对所有项目执行此操作Window- > Preferences- > C/C++- > Build- > Settings- > Discovery并附-std=c++11加到CDT GCC Builtin Compiler Settings规范.

确保之后重新编制项目索引.

这些说明适用于Eclipse Luna(4.4.0),对于以前的版本,路径类似.

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有