VSCODE 无法包含头文件fatal error: pcap.h: No such file or directory

如题,在包含头文件时如果这样报错,通常有2种解决办法

  1. 在c_cpp_properties.json中增加Inlcude路径,如下,包含指定的include路径
    "includePath": [
                    "${workspaceFolder}/**",
                    "${default}",
                    "D:/MSvscodeprojects/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++",
                    "D:\\MSvscodeprojects\\MyLibsAndSdk\\npcap_sdk_1_13\\Include",
                   
                ],
  2. 如果上述方法无效,可以在tasks.json中设置-I和-L命令,指定g++的编译选项
"args": [
                "-g",
                "${file}",
                "-o",
                "${fileDirname}\\${fileBasenameNoExtension}.exe",
                "-I",//-I 命令表示链接文件路径,后面添加你要include的文件夹就行
                "D:\\MSvscodeprojects\\MyLibsAndSdk\\npcap_sdk_1_13\\Include",
                "-L",
                "D:\\MSvscodeprojects\\MyLibsAndSdk\\npcap_sdk_1_13\\Lib\\x64",
                "-l",
                "wpcap",
                "-l",
                "Packet",

                "-std=c++17",
            ],

原因:vscode默认使用的g++/gcc编译器在多文件编译时较弱,不是gcc自带的头文件的话,则需要在task的编译命令中显式指定头文件位置。

并且,使用 #pragma comment(lib,"xxx.lib") 这种宏来指示链接库也无效,因为gcc不支持这种写法。而在visual studio中的VC编译器就可以支持。

解决方法:要么在vscode中显式指定头文件/库文件,或者使用cmake辅助。要么换编译器,比如vs2019。

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