微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

VSCODE的问题包括使用英特尔IPP libarays

如何解决VSCODE的问题包括使用英特尔IPP libarays

嗨,我不明白为什么我不能使用Visual Studio代码从Intel IPP libaray构建简单的示例,它总是说致命错误:ipp.h:没有这样的文件或目录 2 | #include“ ipp.h”。我不明白为什么VSCODE intellisense可以看到所有ipp都包括在内。 我正在使用Ubuntu 20.04 gcc / g ++ 9和Visual Studio代码1.50.1。 如果我使用的话,我可以编译并运行示例

g ++ -g ipptest.cpp -I $ IPPROOT / include -L $ IPPROOT / lib / intel64 -o ipptest -lippi -lipps -lippcore

然后运行

./ ipptest

从命令行 我的task.json文件看起来像这样

{
"version": "2.0.0","tasks": [
    {
        "type": "cppbuild","label": "C/C++: g++ build active file","command": "/usr/bin/g++","args": [
            "-g","${file}","-I ${IPPROOT}/include","-L ${IPPROOT}/lib/intel64","-o","${fileDirname}/${fileBasenameNoExtension}","-lippi -lipps -lippcore"
        ],"options": {
            "cwd": "/usr/bin"
        },"problemmatcher": [
            "$gcc"
        ],"group": {
            "kind": "build","isDefault": true
        },"detail": "compiler: /usr/bin/g++"
    }
]

}

和c_cpp_properties.json

{
"configurations": [
    {
        "name": "Linux","includePath": [
            "${IPPROOT}/**","${workspaceFolder}/**"
        ],"defines": [],"compilerPath": "/usr/bin/gcc","cStandard": "gnu17","cppStandard": "gnu++14","intelliSenseMode": "gcc-x64"
    }
],"version": 4

}

解决方法

好吧,发现Visual Studio代码的问题并不能很聪明地告诉您出了什么问题,最终我发现了问题。

问题出在task.json文件中

task.json文件的固定版本

{
"version": "2.0.0","tasks": [
    {
        "type": "cppbuild","label": "C/C++: g++ build active file","command": "/usr/bin/g++","args": [
            "-g","${file}","-I${IPPROOT}/include","-L${LD_LIBRARY_PATH}","-lippcore","-lipps","-lippi","-o","${fileDirname}/${fileBasenameNoExtension}"
        ],"options": {
            "cwd": "/usr/bin"
        },"problemMatcher": [
            "$gcc"
        ],"group": "build","detail": "compiler: /usr/bin/g++"
    }
]

}

问题-I $ {IPPROOT} /包括错误 -I $ {IPPROOT} /包括正确的 -I和$之间不能有空格 每个库文件也必须添加到新行中,例如:不能像这样写它“ -lipps -lippi -lippcore” 必须这样写 “ -lipps”, “ -lippi”, “ -lippcore”

希望这可以帮助遇到相同问题的任何人

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。