1

我正在尝试使用 sublime text 2 构建 opencv 源代码,但使用 pkg-config 链接 opencv 库似乎存在问题

我的C++.sublime-build

{
    "cmd": ["g++", "${file}", "-o", "${file_path}/${file_base_name}"],
    "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
    "working_dir": "${file_path}",
    "selector": "source.c, source.c++",

    "variants":
    [
        {
            "name": "Run",
            "cmd": ["bash", "-c", "g++ -ggdb '${file}' -o '${file_path}/${file_base_name}' && '${file_path}/${file_base_name}' `pkg-config --cflags --libs opencv`"]
        }
    ]
}

PS:当我尝试从终端编译我的程序时,编译成功。

g++ -ggdb source.cpp `pkg-config --cflags --libs opencv`
4

2 回答 2

3

我可能为时已晚,但我想你应该交换pkg-config --cflags --libs opencv&& '${file_path}/${file_base_name}'的位置,因为pkg-config部分用于编译,而 && '${file_path}/${file_base_name}'部分似乎是执行部分。

"cmd": ["bash", "-c", "g++ -ggdb '${file}' -o '${file_path}/${file_base_name}' pkg-config --cflags --libs opencv&& '${file_path}/${file_base_name}' " ]

如果您有兴趣,我在这里创建了自己的构建系统:http: //subokita.com/2013/04/21/configuring-sublime-to-work-with-opencv-on-mac/

于 2013-04-21T22:52:51.613 回答
0

对我来说,实际上来自 sub_o 的命令并没有帮助,但他的输入让我更好地理解了它的工作方式。所以我想分享我的构建系统。我已经通过 Homebrew 安装了所有东西(opencv、pkg-config、...)。

{
    "cmd": ["bash", "-c", "g++ '$file' -o '$file_base_name' '-I/usr/local/include' `pkg-config --cflags --libs opencv`"],
    "selector": "source.c++",

    "windows":
    {
        "cmd": ["cl", "/Fo${file_path}", "/O2", "$file"]
    }
}
于 2014-05-24T09:21:36.390 回答