小编hax*_*nek的帖子

即使已安装,CMake 也无法找到 gRPC 库 (mac)

我正在尝试使用 gRPC 库,但是我不断收到错误消息,告诉我找不到 .cmake 文件,或者出现链接器错误,可能是由于我的 CMakeLists.txt 造成的。在我下面的示例中,他们将 cmake 中的库简单地称为 gRPC,并且我也尝试了关键字 grpc_cpp_plugin,但是似乎都不起作用。

对于上下文,我使用的是 macOS Mojave,并且我已经使用自制软件安装了 gRPC 库。

Homebrew 在/usr/local/Cellar/grpc/1.22.0.

我在这里使用了适用于另一个项目的 cmake 文件,但是我添加了 protobuf 和 gRPC 库,添加它们后就是我收到错误的时候。同样,部分代码是从上面的链接借用的(特别是 gRPC 文件所在位置的名称)。

我的 CMakeLists.txt 文件

cmake_minimum_required( VERSION 2.8 )
project( gRPC_server )

# setup opencv
find_package( OpenCV REQUIRED )

# SETUP PROTOBUF
set(protobuf_MODULE_COMPATIBLE TRUE)
find_package( Protobuf REQUIRED )
set(_PROTOBUF_LIBPROTOBUF protobuf::libprotobuf)

# SETUP GRPC
find_package( gRPC REQUIRED )
set(_GRPC_GRPCPP_UNSECURE gRPC::grpc++_unsecure)

INCLUDE_DIRECTORIES(${PROTOBUF_INCLUDE_DIR})

# mostly just to set it to the correct compiler
SET(CMAKE_CXX_FLAGS …
Run Code Online (Sandbox Code Playgroud)

c++ homebrew makefile cmake grpc

4
推荐指数
1
解决办法
2万
查看次数

exec 函数只运行一些命令,不会运行 echo

我正在尝试通过 exec 系列函数运行命令行参数(特别是 echo)。如果我编写自己的可执行文件并运行它,我可以运行 execv 函数,但是如果我尝试运行 touch 或 echo 它会返回 -1

#include <stdio.h>
#include <unistd.h> // exec functions
#include <sys/types.h> // pid_t
#include <sys/wait.h>

#define HIGH 1
#define LOW 0

int digitalWrite(int pin, short type) {

    pid_t pid = fork();
    if (pid == 0) {
        printf("pid == %i\n", pid);
        if (type == HIGH) {
            char* args[] = {"echo", "1", ">", "/sys/class/gpio/gpio67/value", NULL};
            int val = execv(args[0], args);
            printf("ran function execl, %i\n", val);
        } else {
            printf("Unable to do anything but …
Run Code Online (Sandbox Code Playgroud)

c exec echo

0
推荐指数
1
解决办法
2106
查看次数

标签 统计

c ×1

c++ ×1

cmake ×1

echo ×1

exec ×1

grpc ×1

homebrew ×1

makefile ×1