小编hdo*_*adu的帖子

为角度“mat-tab-nav-bar”设置活动选项卡

我有以下not working代码(在一些不完整的示例中找到):

<nav mat-tab-nav-bar>
    <a mat-tab-link *ngFor="let device of devices$ | async" [routerLink]="device.getIp()"
        [routerLinkActive #rla="routerLinkActive"
        [active]="rla.isActive">
    </a>
</nav>
<router-outlet></router-outlet>
Run Code Online (Sandbox Code Playgroud)

我不确定这应该如何工作:

  • 我应该routerLinkActive在我的 中定义吗ts
  • 这是什么[routerLinkActive #rla="routerLinkActive"意思?

angular2-routing angular mat-tab

9
推荐指数
1
解决办法
8824
查看次数

使用 gRPC 的 CMake 找不到 gRPCTargets.cmake

我在grpc cpp helloworld使用cmake. 我建立并安装grpccmake最初,然后用make直接。

我发现这个问题过去是由其他人提出的,已解决。
它似乎没有解决,我打开了一个新问题为它,但我觉得我需要一段时间才能得到一些帮助,所以我在这里。

原始问题的 OP 为他的FindGRPC cmake 模块提供了一种解决方法,但我不确定如果gRPCTargets.cmake仍然丢失,这将如何提供帮助。
FindGRPC.cmake进入了我的 cmake 模块路径,但没有任何变化。

错误是这样的:

CMake Error at /usr/local/lib/cmake/grpc/gRPCConfig.cmake:8 (include):
  include could not find load file:

    /usr/local/lib/cmake/grpc/gRPCTargets.cmake
Call Stack (most recent call first):
  CMakeLists.txt:73 (find_package)


-- Using gRPC 1.20.0
-- Configuring incomplete, errors occurred
Run Code Online (Sandbox Code Playgroud)

我希望能够轻松地grpc从我的 cmake 项目中使用(使用find_package(gRPC CONFIG REQUIRED)

编辑:

运行cmake时出现grpc此错误:

gRPC_INSTALL will …
Run Code Online (Sandbox Code Playgroud)

cmake grpc

8
推荐指数
1
解决办法
4353
查看次数

如何用扩展名替换 cmake 文件名列表

我正在尝试使用 cmake 根据某些定义构建一个 C++ 库protobuf。我添加了一个自定义命令来将其编译proto为 C++,但输出部分存在一些问题。protoc我需要指定哪些是完成其工作后的预期输出文件。为此,我想在我的PROTO_SOURCE文件 glob中将proto扩展名替换为.pb.cc.pb.h

我基本上需要这样的东西但是对于cmake。

我正在手动构建此命令,因为我没有可用的 protobuf cmake 支持。

project(messages)

set(PROTO_PATH "${CMAKE_CURRENT_SOURCE_DIR}/proto_definitions")
file(GLOB PROTO_FILES "${PROTO_PATH}/*.proto")
#set(PROTO_SOURCES ???) # This needs to contain '*.pb.cc' and '*.pb.h'

add_custom_command(COMMAND protoc --cpp_out=${CMAKE_CURRENT_SOURCE_DIR}/compiled_proto ${PROTO_FILES}
               WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
               DEPENDS ${PROTO_FILES}
               OUTPUT ${PROTO_SOURCES})

add_library(${PROJECT_NAME} STATIC ${PROTO_SOURCES})
Run Code Online (Sandbox Code Playgroud)

cmake protocol-buffers protoc

6
推荐指数
1
解决办法
4629
查看次数

如何将 webpack 指向特定的 node_modules 文件夹

我正在尝试构建一个grpcWeb 客户端,我需要打包代码来解析require语句。

我已经编译了protostojs 并且如果我将它们放在我安装node modules.

问题是如果我compiled proto在其他地方有 并且我从那里需要它们,在该路径中webpack寻找node modules

从我的 client.js

工作版本:

const {StopRequest, StopReply} = require('./work_pb.js');
Run Code Online (Sandbox Code Playgroud)

有问题的版本:

const {StopRequest, StopReply} = require('../../../messages/proto/output/work_pb.js');
Run Code Online (Sandbox Code Playgroud)

在最后一种情况下,它查找node modulesin ../../../messages/proto/output/。将node modules安装在当前路径这里我client.js是从那里我跑npx webpack client.js

ERROR in /home/xxx/yyy/zzz/messages/proto/output/work_pb.js
Module not found: Error: Can't resolve 'google-protobuf' in '/home/xxx/yyy/zzz/messages/proto/output'
 @ /home/xxx/yyy/zzz/messages/proto/output/work_pb.js 11:11-37
 @ ./client.js

Run Code Online (Sandbox Code Playgroud)

我如何告诉webpack查看节点模块的当前路径而不是编译原型的路径?

protocol-buffers web webpack grpc

6
推荐指数
1
解决办法
4884
查看次数

将protobuf编译为python,cmake命令

我有一些可以编译为cpp的原始定义。
要生成相应的make目标,我将使用cmake,如下所示:
protobuf_generate_cpp(CPP_SOURCES PROTO_HEADERS ${PROTO_FILES})
我使用CPP_SOURCES来构建我的库。

现在我还需要编译蟒蛇同原文件,我添加了这个:
protobuf_generate_python(PY_SOURCES ${PROTO_FILES})
仅凭这一点有没有影响,我不知道我应该/可以以有一些make目标,也将触发添加更多protoc蟒蛇

python cmake protocol-buffers

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

用于编译 protobuf 文件的 CMake 目标依赖项

我想从一些protobuf定义中构建一个 c++ 静态库cmake/make
我自定义COMMAND了编译protobufto c++,并将其设置为PRE_BUILD我的静态库的依赖项。

project(mylib)

set(PROTO_PATH "${CMAKE_CURRENT_SOURCE_DIR}/proto_definitions")

file(GLOB PROTO_FILES "${PROTO_PATH}/*.proto")
foreach(PROTO_FILE in ${PROTO_FILES})
    string(REGEX REPLACE "[.]proto$" ".pb.cc" OUTPUT_SOURCE ${PROTO_FILE})
    list(APPEND OUTPUT_SOURCES ${OUTPUT_SOURCE}) 
endforeach()

add_custom_command(TARGET ${PROJECT_NAME}
                   PRE_BUILD
                   COMMAND protoc --cpp_out=${CMAKE_CURRENT_SOURCE_DIR}/compiled_proto ${PROTO_FILES}
                   WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
                   COMMENT "some comment")
add_library(${PROJECT_NAME} STATIC ${OUTPUT_SOURCES})

target_include_directories(${PROJECT_NAME} PUBLIC ${CMAKE_CURRENT_BINARY_DIR})



Run Code Online (Sandbox Code Playgroud)

运行 cmake 时出现以下错误:
CMake 错误:无法确定目标“mylib”的链接语言

不管这个错误,生成文件,但是当我生成 mylib 时,它不会触发任何 proto 编译

cmake protocol-buffers

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

Boost 状态机语言 - 从“action”中“post”事件

我使用boost sml几天了,我已经到了需要在操作中发布/处理事件的地步。
我可以看到它可以直接从转换表完成:

using namespace sml;
return make_transition_table(
 *"s1"_s + event<my_event> / process_event(other_event{}) = "s2"_s,
  "s2"_s + event<other_event> = X
);
Run Code Online (Sandbox Code Playgroud)

但我的用例是不同的:
我有一个状态,它有一个actionforon-entry事件,它做了一些工作,并最终触发一个事件(来自withinstate action)。

例如,对于boost statechart,每个州都可以访问 且context可以post_event

这可能吗sml

c++ boost state-machine boost-sml

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